Remove bogus (void *) casts.
[dragonfly.git] / usr.bin / lex / initscan.c
CommitLineData
984263bc
MD
1#line 2 "scan.c"
2/* A lexical scanner generated by flex */
3
4/* Scanner skeleton version:
5 * $Header: /home/daffy/u0/vern/flex/RCS/flex.skl,v 2.91 96/09/10 16:58:48 vern Exp $
6 * $FreeBSD: src/usr.bin/lex/initscan.c,v 1.6 1999/10/27 07:56:45 obrien Exp $
7 */
8
9#define FLEX_SCANNER
10#define YY_FLEX_MAJOR_VERSION 2
11#define YY_FLEX_MINOR_VERSION 5
12
13#include <stdio.h>
14
15
16/* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
17#ifdef c_plusplus
18#ifndef __cplusplus
19#define __cplusplus
20#endif
21#endif
22
23
24#ifdef __cplusplus
25
26#include <stdlib.h>
27#include <unistd.h>
28
29/* Use prototypes in function declarations. */
30#define YY_USE_PROTOS
31
32/* The "const" storage-class-modifier is valid. */
33#define YY_USE_CONST
34
35#else /* ! __cplusplus */
36
984263bc
MD
37#define YY_USE_PROTOS
38#define YY_USE_CONST
39
984263bc
MD
40#endif /* ! __cplusplus */
41
984263bc
MD
42#ifdef YY_USE_CONST
43#define yyconst const
44#else
45#define yyconst
46#endif
47
48
49#ifdef YY_USE_PROTOS
50#define YY_PROTO(proto) proto
51#else
52#define YY_PROTO(proto) ()
53#endif
54
55/* Returned upon end-of-file. */
56#define YY_NULL 0
57
58/* Promotes a possibly negative, possibly signed char to an unsigned
59 * integer for use as an array index. If the signed char is negative,
60 * we want to instead treat it as an 8-bit unsigned char, hence the
61 * double cast.
62 */
63#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
64
65/* Enter a start condition. This macro really ought to take a parameter,
66 * but we do it the disgusting crufty way forced on us by the ()-less
67 * definition of BEGIN.
68 */
69#define BEGIN yy_start = 1 + 2 *
70
71/* Translate the current start state into a value that can be later handed
72 * to BEGIN to return to the state. The YYSTATE alias is for lex
73 * compatibility.
74 */
75#define YY_START ((yy_start - 1) / 2)
76#define YYSTATE YY_START
77
78/* Action number for EOF rule of a given start state. */
79#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
80
81/* Special action meaning "start processing a new file". */
82#define YY_NEW_FILE yyrestart( yyin )
83
84#define YY_END_OF_BUFFER_CHAR 0
85
86/* Size of default input buffer. */
87#define YY_BUF_SIZE 16384
88
89typedef struct yy_buffer_state *YY_BUFFER_STATE;
90
91extern int yyleng;
92extern FILE *yyin, *yyout;
93
94#define EOB_ACT_CONTINUE_SCAN 0
95#define EOB_ACT_END_OF_FILE 1
96#define EOB_ACT_LAST_MATCH 2
97
98/* The funky do-while in the following #define is used to turn the definition
99 * int a single C statement (which needs a semi-colon terminator). This
100 * avoids problems with code like:
101 *
102 * if ( condition_holds )
103 * yyless( 5 );
104 * else
105 * do_something_else();
106 *
107 * Prior to using the do-while the compiler would get upset at the
108 * "else" because it interpreted the "if" statement as being all
109 * done when it reached the ';' after the yyless() call.
110 */
111
112/* Return all but the first 'n' matched characters back to the input stream. */
113
114#define yyless(n) \
115 do \
116 { \
117 /* Undo effects of setting up yytext. */ \
118 *yy_cp = yy_hold_char; \
119 YY_RESTORE_YY_MORE_OFFSET \
120 yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \
121 YY_DO_BEFORE_ACTION; /* set up yytext again */ \
122 } \
123 while ( 0 )
124
125#define unput(c) yyunput( c, yytext_ptr )
126
127/* The following is because we cannot portably get our hands on size_t
128 * (without autoconf's help, which isn't available because we want
129 * flex-generated scanners to compile on their own).
130 */
131typedef unsigned int yy_size_t;
132
133
134struct yy_buffer_state
135 {
136 FILE *yy_input_file;
137
138 char *yy_ch_buf; /* input buffer */
139 char *yy_buf_pos; /* current position in input buffer */
140
141 /* Size of input buffer in bytes, not including room for EOB
142 * characters.
143 */
144 yy_size_t yy_buf_size;
145
146 /* Number of characters read into yy_ch_buf, not including EOB
147 * characters.
148 */
149 int yy_n_chars;
150
151 /* Whether we "own" the buffer - i.e., we know we created it,
152 * and can realloc() it to grow it, and should free() it to
153 * delete it.
154 */
155 int yy_is_our_buffer;
156
157 /* Whether this is an "interactive" input source; if so, and
158 * if we're using stdio for input, then we want to use getc()
159 * instead of fread(), to make sure we stop fetching input after
160 * each newline.
161 */
162 int yy_is_interactive;
163
164 /* Whether we're considered to be at the beginning of a line.
165 * If so, '^' rules will be active on the next match, otherwise
166 * not.
167 */
168 int yy_at_bol;
169
170 /* Whether to try to fill the input buffer when we reach the
171 * end of it.
172 */
173 int yy_fill_buffer;
174
175 int yy_buffer_status;
176#define YY_BUFFER_NEW 0
177#define YY_BUFFER_NORMAL 1
178 /* When an EOF's been seen but there's still some text to process
179 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
180 * shouldn't try reading from the input source any more. We might
181 * still have a bunch of tokens to match, though, because of
182 * possible backing-up.
183 *
184 * When we actually see the EOF, we change the status to "new"
185 * (via yyrestart()), so that the user can continue scanning by
186 * just pointing yyin at a new input file.
187 */
188#define YY_BUFFER_EOF_PENDING 2
189 };
190
678e8cc6 191static YY_BUFFER_STATE yy_current_buffer = NULL;
984263bc
MD
192
193/* We provide macros for accessing buffer states in case in the
194 * future we want to put the buffer states in a more general
195 * "scanner state".
196 */
197#define YY_CURRENT_BUFFER yy_current_buffer
198
199
200/* yy_hold_char holds the character lost when yytext is formed. */
201static char yy_hold_char;
202
203static int yy_n_chars; /* number of characters read into yy_ch_buf */
204
205
206int yyleng;
207
208/* Points to current character in buffer. */
902ec341 209static char *yy_c_buf_p = NULL;
984263bc
MD
210static int yy_init = 1; /* whether we need to initialize */
211static int yy_start = 0; /* start state number */
212
213/* Flag which is used to allow yywrap()'s to do buffer switches
214 * instead of setting up a fresh yyin. A bit of a hack ...
215 */
216static int yy_did_buffer_switch_on_eof;
217
218void yyrestart YY_PROTO(( FILE *input_file ));
219
220void yy_switch_to_buffer YY_PROTO(( YY_BUFFER_STATE new_buffer ));
221void yy_load_buffer_state YY_PROTO(( void ));
222YY_BUFFER_STATE yy_create_buffer YY_PROTO(( FILE *file, int size ));
223void yy_delete_buffer YY_PROTO(( YY_BUFFER_STATE b ));
224void yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, FILE *file ));
225void yy_flush_buffer YY_PROTO(( YY_BUFFER_STATE b ));
226#define YY_FLUSH_BUFFER yy_flush_buffer( yy_current_buffer )
227
228YY_BUFFER_STATE yy_scan_buffer YY_PROTO(( char *base, yy_size_t size ));
229YY_BUFFER_STATE yy_scan_string YY_PROTO(( yyconst char *yy_str ));
230YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len ));
231
232static void *yy_flex_alloc YY_PROTO(( yy_size_t ));
233static void *yy_flex_realloc YY_PROTO(( void *, yy_size_t ));
234static void yy_flex_free YY_PROTO(( void * ));
235
236#define yy_new_buffer yy_create_buffer
237
238#define yy_set_interactive(is_interactive) \
239 { \
240 if ( ! yy_current_buffer ) \
241 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
242 yy_current_buffer->yy_is_interactive = is_interactive; \
243 }
244
245#define yy_set_bol(at_bol) \
246 { \
247 if ( ! yy_current_buffer ) \
248 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
249 yy_current_buffer->yy_at_bol = at_bol; \
250 }
251
252#define YY_AT_BOL() (yy_current_buffer->yy_at_bol)
253
254typedef unsigned char YY_CHAR;
902ec341 255FILE *yyin = NULL, *yyout = NULL;
984263bc
MD
256typedef int yy_state_type;
257extern char *yytext;
258#define yytext_ptr yytext
259
260static yy_state_type yy_get_previous_state YY_PROTO(( void ));
261static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state ));
262static int yy_get_next_buffer YY_PROTO(( void ));
263static void yy_fatal_error YY_PROTO(( yyconst char msg[] ));
264
265/* Done after the current pattern has been matched and before the
266 * corresponding action - sets up yytext.
267 */
268#define YY_DO_BEFORE_ACTION \
269 yytext_ptr = yy_bp; \
270 yyleng = (int) (yy_cp - yy_bp); \
271 yy_hold_char = *yy_cp; \
272 *yy_cp = '\0'; \
273 yy_c_buf_p = yy_cp;
274
275#define YY_NUM_RULES 165
276#define YY_END_OF_BUFFER 166
277static yyconst short int yy_accept[769] =
278 { 0,
279 0, 0, 0, 0, 87, 87, 163, 163, 0, 0,
280 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
281 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
282 0, 0, 0, 0, 0, 0, 0, 0, 166, 164,
283 7, 18, 164, 16, 1, 17, 164, 164, 164, 164,
284 15, 108, 100, 101, 108, 93, 108, 107, 108, 108,
285 108, 107, 99, 89, 108, 108, 91, 92, 87, 88,
286 87, 86, 85, 86, 86, 163, 163, 28, 29, 28,
287 28, 28, 28, 28, 28, 31, 30, 32, 31, 113,
288 109, 110, 112, 114, 141, 142, 141, 139, 138, 140,
289
290 115, 117, 115, 116, 115, 120, 120, 120, 120, 122,
291 124, 122, 122, 122, 122, 123, 151, 155, 151, 154,
292 156, 156, 152, 152, 152, 149, 150, 164, 82, 164,
293 21, 22, 21, 20, 157, 159, 157, 160, 161, 147,
294 147, 148, 147, 147, 147, 147, 147, 147, 147, 81,
295 34, 33, 81, 81, 81, 81, 35, 81, 81, 81,
296 81, 81, 81, 81, 81, 81, 81, 81, 81, 81,
297 81, 81, 81, 81, 81, 81, 26, 23, 26, 24,
298 7, 18, 0, 16, 1, 17, 0, 0, 0, 14,
299 8, 0, 0, 0, 0, 4, 5, 0, 2, 15,
300
301 100, 101, 0, 0, 0, 95, 0, 0, 105, 105,
302 0, 162, 162, 162, 94, 0, 99, 89, 0, 0,
303 0, 91, 92, 104, 90, 0, 87, 88, 86, 85,
304 85, 83, 84, 163, 163, 28, 29, 28, 28, 28,
305 28, 31, 30, 32, 111, 112, 142, 138, 117, 0,
306 118, 119, 124, 121, 151, 155, 0, 153, 0, 144,
307 152, 152, 152, 0, 82, 0, 21, 22, 21, 19,
308 157, 159, 158, 147, 147, 147, 148, 143, 147, 147,
309 147, 34, 33, 0, 80, 0, 0, 81, 81, 81,
310 81, 81, 81, 81, 81, 81, 81, 81, 81, 81,
311
312 81, 81, 81, 36, 81, 81, 81, 81, 81, 81,
313 81, 81, 81, 81, 0, 25, 24, 0, 14, 8,
314 0, 12, 0, 0, 0, 0, 0, 4, 5, 0,
315 6, 0, 96, 0, 97, 0, 0, 105, 105, 0,
316 105, 105, 105, 162, 162, 0, 106, 90, 98, 0,
317 104, 0, 83, 84, 28, 28, 28, 27, 28, 0,
318 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
319 0, 152, 152, 143, 143, 147, 147, 0, 0, 81,
320 81, 81, 81, 81, 44, 81, 81, 81, 49, 81,
321 81, 81, 81, 81, 81, 81, 81, 81, 81, 81,
322
323 81, 81, 81, 81, 81, 81, 81, 81, 0, 81,
324 81, 81, 81, 0, 0, 0, 12, 0, 0, 0,
325 0, 0, 0, 4, 5, 0, 105, 105, 105, 105,
326 105, 105, 162, 0, 0, 28, 28, 0, 0, 0,
327 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
328 152, 152, 147, 147, 37, 38, 81, 81, 81, 81,
329 81, 81, 81, 81, 50, 51, 81, 81, 81, 55,
330 81, 81, 81, 81, 81, 81, 60, 81, 81, 81,
331 81, 81, 81, 67, 0, 0, 0, 81, 81, 81,
332 81, 0, 13, 0, 0, 0, 0, 0, 0, 105,
333
334 105, 105, 105, 105, 105, 0, 0, 28, 28, 137,
335 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
336 0, 0, 152, 152, 147, 147, 39, 81, 41, 81,
337 43, 81, 81, 81, 47, 81, 52, 81, 81, 81,
338 81, 81, 81, 81, 81, 81, 62, 81, 81, 65,
339 81, 0, 0, 0, 0, 81, 81, 81, 81, 3,
340 0, 0, 0, 0, 105, 105, 105, 0, 0, 28,
341 28, 0, 0, 0, 0, 0, 0, 0, 0, 0,
342 0, 0, 0, 145, 146, 145, 146, 81, 42, 81,
343 81, 81, 81, 81, 81, 81, 81, 81, 81, 81,
344
345 81, 78, 61, 81, 64, 81, 0, 0, 0, 0,
346 81, 81, 69, 70, 0, 10, 0, 11, 0, 103,
347 0, 102, 0, 0, 0, 0, 0, 0, 0, 0,
348 0, 0, 0, 0, 81, 81, 81, 45, 81, 48,
349 81, 81, 81, 81, 77, 81, 59, 63, 66, 0,
350 0, 0, 0, 79, 81, 0, 102, 0, 0, 0,
351 0, 0, 0, 0, 0, 0, 0, 0, 0, 81,
352 81, 81, 46, 81, 81, 56, 81, 81, 0, 0,
353 0, 0, 68, 0, 9, 0, 125, 126, 127, 128,
354 129, 130, 131, 132, 133, 134, 135, 0, 81, 81,
355
356 81, 81, 81, 81, 81, 0, 0, 0, 0, 0,
357 136, 81, 81, 81, 81, 54, 81, 81, 0, 0,
358 0, 0, 0, 0, 81, 81, 81, 53, 81, 58,
359 0, 0, 0, 0, 0, 0, 81, 81, 81, 81,
360 72, 0, 0, 0, 0, 73, 81, 81, 81, 81,
361 71, 0, 75, 0, 81, 81, 81, 74, 76, 81,
362 81, 81, 81, 81, 81, 57, 40, 0
363 } ;
364
365static yyconst int yy_ec[256] =
366 { 0,
367 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
368 1, 1, 4, 1, 1, 1, 1, 1, 1, 1,
369 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
370 1, 2, 1, 5, 6, 7, 8, 1, 9, 10,
371 10, 11, 12, 13, 14, 10, 15, 16, 16, 16,
372 16, 16, 16, 16, 17, 18, 19, 20, 1, 21,
373 22, 23, 10, 1, 31, 32, 33, 34, 35, 36,
374 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
375 47, 48, 49, 50, 51, 52, 53, 54, 55, 47,
376 26, 27, 28, 29, 30, 1, 31, 32, 33, 34,
377
378 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
379 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
380 55, 47, 56, 57, 58, 1, 1, 1, 1, 1,
381 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
382 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
383 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
384 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
385 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
386 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
387 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
388
389 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
390 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
391 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
392 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
393 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
394 1, 1, 1, 1, 1
395 } ;
396
397static yyconst int yy_meta[59] =
398 { 0,
399 1, 1, 2, 1, 3, 1, 1, 1, 4, 1,
400 5, 6, 1, 7, 4, 8, 8, 8, 8, 1,
401 1, 1, 1, 9, 10, 1, 11, 12, 1, 13,
402 14, 14, 14, 14, 14, 14, 15, 15, 15, 15,
403 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
404 15, 15, 15, 15, 15, 4, 1, 16
405 } ;
406
407static yyconst short int yy_base[858] =
408 { 0,
409 0, 58, 115, 172, 120, 129, 2712, 2711, 230, 2705,
410 136, 141, 288, 0, 2683, 2682, 144, 151, 185, 191,
411 178, 188, 344, 347, 375, 0, 125, 131, 147, 216,
412 431, 434, 461, 0, 519, 0, 205, 349, 2710, 2716,
413 353, 2716, 2706, 0, 360, 2716, 2705, 144, 570, 2696,
414 0, 2716, 577, 2716, 2703, 2716, 438, 2716, 2684, 126,
415 149, 427, 591, 2716, 2701, 141, 2682, 2716, 0, 2716,
416 2699, 0, 2699, 2697, 155, 2696, 2716, 0, 2716, 2695,
417 2716, 0, 2662, 2641, 2637, 0, 2692, 2716, 2690, 2716,
418 2716, 2663, 0, 2716, 2716, 2716, 2688, 2716, 431, 2716,
419
420 2716, 2716, 2687, 2716, 567, 2716, 2669, 571, 164, 2716,
421 2716, 2685, 0, 2667, 573, 2716, 0, 2716, 2683, 2716,
422 573, 2674, 0, 2649, 2628, 2716, 2716, 222, 2716, 356,
423 448, 2716, 450, 2667, 0, 2716, 2678, 2716, 0, 0,
424 198, 2716, 2677, 2621, 2716, 2667, 0, 2642, 2621, 2716,
425 2673, 2716, 2671, 2668, 2640, 2639, 2716, 544, 2639, 579,
426 2634, 2635, 318, 0, 2623, 2631, 424, 562, 2614, 587,
427 2629, 2613, 2618, 2626, 2629, 2604, 2716, 2716, 2653, 612,
428 634, 2716, 2654, 0, 637, 2716, 2653, 600, 2616, 0,
429 0, 641, 647, 651, 669, 0, 0, 453, 2716, 0,
430
431 672, 2716, 2651, 2597, 605, 2716, 2649, 2616, 620, 657,
432 645, 2716, 662, 0, 2716, 2592, 688, 2716, 2646, 2592,
433 2636, 2625, 2716, 0, 2716, 2610, 0, 2716, 0, 0,
434 2642, 0, 0, 2640, 2716, 0, 2716, 0, 2602, 2598,
435 745, 0, 2638, 2716, 2716, 0, 2716, 688, 2716, 773,
436 2716, 2716, 2716, 2716, 0, 2716, 673, 2716, 0, 2716,
437 0, 2599, 2595, 690, 2716, 698, 707, 2716, 709, 2716,
438 0, 2716, 2716, 0, 596, 2579, 2716, 827, 0, 2596,
439 2592, 2632, 2716, 2628, 2716, 2593, 2592, 0, 642, 2582,
440 563, 2617, 2579, 620, 2578, 2577, 2583, 669, 2570, 2584,
441
442 2572, 0, 2569, 2716, 2570, 2571, 2579, 2582, 685, 125,
443 2570, 2567, 2566, 688, 2608, 2716, 716, 2568, 0, 0,
444 720, 2716, 2608, 884, 2562, 2559, 2569, 0, 0, 723,
445 2716, 739, 2716, 805, 2716, 808, 2562, 787, 869, 876,
446 930, 881, 973, 800, 0, 2548, 2716, 2716, 2716, 2570,
447 0, 2559, 0, 0, 2568, 2557, 0, 2716, 0, 1009,
448 2581, 678, 870, 871, 874, 879, 913, 992, 974, 1013,
449 885, 2565, 2554, 0, 1067, 2563, 2552, 2546, 2545, 2557,
450 2562, 2561, 2550, 2557, 0, 2554, 2537, 2556, 0, 2536,
451 2543, 2533, 2548, 2568, 2537, 2549, 2544, 2542, 2541, 2532,
452
453 2539, 2540, 2538, 2539, 578, 2520, 2538, 2525, 860, 2526,
454 2528, 2521, 2517, 2529, 817, 1044, 2716, 822, 1095, 914,
455 2532, 2523, 2517, 0, 0, 2524, 1102, 1025, 1142, 2539,
456 1028, 1163, 2716, 2513, 2521, 2523, 2507, 0, 2526, 1058,
457 891, 1014, 1019, 894, 1038, 1080, 1072, 1086, 1083, 1081,
458 2520, 2504, 2518, 2502, 2716, 2716, 2505, 2493, 2492, 2495,
459 2507, 1148, 2507, 2492, 0, 0, 2492, 2493, 2507, 0,
460 2525, 2490, 2498, 2522, 2485, 2495, 0, 2500, 2491, 2487,
461 2479, 2479, 2483, 0, 875, 2494, 2481, 2494, 2480, 2475,
462 2491, 2519, 2716, 920, 999, 2465, 2474, 2468, 2494, 2496,
463
464 1105, 1184, 1081, 902, 969, 2479, 2491, 2463, 2477, 2716,
465 165, 1090, 1144, 1143, 1147, 1163, 1095, 1145, 1037, 1085,
466 1150, 1173, 2461, 2475, 2459, 2473, 0, 2458, 0, 2460,
467 0, 1165, 2454, 2469, 0, 2461, 0, 2471, 2410, 2414,
468 2434, 2400, 2393, 2405, 2385, 2382, 0, 2383, 2335, 0,
469 2335, 2330, 2326, 2309, 2278, 2259, 2269, 2268, 2256, 2297,
470 1046, 2238, 2242, 2253, 1179, 1142, 1145, 2247, 2246, 0,
471 0, 1191, 1192, 1172, 1201, 1202, 1204, 1205, 1206, 1207,
472 1209, 1210, 1208, 0, 0, 0, 0, 2254, 0, 2221,
473 2229, 2218, 2208, 2200, 2209, 2198, 2195, 2165, 2168, 2149,
474
475 2132, 0, 0, 2129, 0, 2139, 2143, 2134, 2124, 2137,
476 2117, 2116, 0, 0, 1228, 2716, 1232, 2716, 2111, 2716,
477 2117, 2716, 2115, 2114, 2108, 2107, 2106, 2103, 2102, 2098,
478 2095, 2063, 2047, 1213, 2012, 1986, 1975, 0, 1954, 0,
479 1947, 1950, 1941, 1945, 0, 1942, 0, 0, 0, 1938,
480 1940, 1934, 1905, 0, 1872, 1234, 2716, 1888, 1882, 1881,
481 1864, 1848, 1832, 1828, 1827, 1826, 1823, 1806, 1809, 1784,
482 1787, 1772, 0, 1781, 1786, 0, 1766, 1767, 1759, 1744,
483 1213, 1736, 0, 1236, 2716, 1245, 2716, 2716, 2716, 2716,
484 2716, 2716, 2716, 2716, 2716, 2716, 2716, 1750, 1727, 1720,
485
486 1701, 1687, 1670, 1681, 1667, 1679, 1659, 689, 1658, 1671,
487 2716, 1657, 1627, 1621, 1635, 0, 1603, 1596, 1595, 1608,
488 1602, 1587, 1586, 1583, 1581, 1587, 1555, 0, 1547, 0,
489 1527, 1507, 1520, 1503, 1483, 1482, 1485, 1443, 1440, 1228,
490 2716, 1225, 1224, 1206, 1210, 2716, 1213, 1202, 1018, 948,
491 2716, 945, 2716, 884, 780, 771, 779, 2716, 2716, 689,
492 673, 581, 408, 318, 86, 0, 0, 2716, 1263, 1279,
493 1295, 1311, 1327, 1343, 1359, 1375, 1391, 1407, 1423, 1439,
494 1455, 1471, 1481, 1496, 1505, 1520, 1536, 1545, 1560, 1576,
495 1592, 1608, 1624, 1634, 1649, 1659, 1674, 1690, 1706, 1718,
496
497 1728, 1743, 1759, 1775, 1791, 1807, 1817, 1832, 1843, 1236,
498 1858, 1874, 1890, 1898, 1905, 1920, 1936, 1952, 1968, 1977,
499 1985, 2001, 2017, 2033, 2049, 2065, 2081, 2097, 2113, 2123,
500 2138, 2148, 2155, 2170, 2182, 2192, 2207, 2223, 2239, 2255,
501 2265, 2280, 2291, 2306, 2322, 2338, 2354, 2364, 2373, 2388,
502 2404, 2420, 2429, 2437, 2453, 2469, 2485
503 } ;
504
505static yyconst short int yy_def[858] =
506 { 0,
507 768, 768, 769, 769, 770, 771, 772, 772, 768, 9,
508 773, 773, 768, 13, 774, 774, 775, 775, 776, 776,
509 777, 777, 778, 778, 768, 25, 779, 779, 780, 780,
510 781, 781, 768, 33, 768, 35, 782, 782, 768, 768,
511 768, 768, 768, 783, 768, 768, 768, 768, 784, 768,
512 785, 768, 768, 768, 768, 768, 768, 768, 768, 786,
513 787, 788, 768, 768, 768, 768, 768, 768, 789, 768,
514 789, 790, 791, 790, 790, 792, 768, 793, 768, 793,
515 768, 794, 794, 794, 793, 795, 768, 768, 795, 768,
516 768, 768, 796, 768, 768, 768, 768, 768, 768, 768,
517
518 768, 768, 768, 768, 787, 768, 768, 787, 797, 768,
519 768, 768, 798, 768, 787, 768, 799, 768, 799, 768,
520 800, 768, 801, 801, 801, 768, 768, 802, 768, 802,
521 803, 768, 803, 768, 804, 768, 804, 768, 805, 806,
522 806, 768, 806, 806, 768, 806, 807, 807, 807, 768,
523 768, 768, 768, 808, 768, 768, 768, 809, 809, 809,
524 809, 809, 809, 809, 809, 809, 809, 810, 809, 809,
525 809, 809, 809, 809, 809, 809, 768, 768, 811, 768,
526 768, 768, 768, 783, 768, 768, 768, 768, 768, 812,
527 813, 768, 768, 768, 768, 814, 815, 816, 768, 785,
528
529 768, 768, 768, 768, 817, 768, 768, 768, 818, 818,
530 819, 768, 768, 820, 768, 821, 768, 768, 768, 768,
531 768, 768, 768, 822, 768, 768, 823, 768, 824, 825,
532 825, 826, 827, 828, 768, 829, 768, 830, 830, 830,
533 768, 831, 768, 768, 768, 832, 768, 768, 768, 833,
534 768, 768, 768, 768, 834, 768, 835, 768, 835, 768,
535 836, 836, 836, 837, 768, 837, 838, 768, 838, 768,
536 839, 768, 768, 840, 840, 840, 768, 768, 841, 841,
537 841, 768, 768, 842, 768, 768, 768, 843, 843, 843,
538 843, 843, 843, 843, 843, 843, 843, 843, 843, 843,
539
540 843, 843, 843, 768, 843, 843, 843, 843, 843, 843,
541 843, 843, 843, 843, 844, 768, 768, 768, 845, 846,
542 847, 768, 768, 768, 768, 768, 768, 848, 849, 850,
543 768, 850, 768, 851, 768, 851, 768, 852, 852, 852,
544 768, 852, 852, 768, 853, 854, 768, 768, 768, 768,
545 855, 768, 826, 827, 830, 830, 241, 768, 241, 241,
546 833, 833, 833, 833, 833, 833, 833, 833, 833, 833,
547 833, 836, 836, 278, 278, 841, 841, 768, 768, 843,
548 843, 843, 843, 843, 843, 843, 843, 843, 843, 843,
549 843, 843, 843, 843, 843, 843, 843, 843, 843, 843,
550
551 843, 843, 843, 843, 843, 843, 843, 843, 768, 843,
552 843, 843, 843, 768, 847, 847, 768, 847, 847, 768,
553 768, 768, 768, 848, 849, 768, 341, 852, 343, 341,
554 852, 343, 768, 768, 768, 830, 830, 360, 768, 833,
555 833, 833, 833, 833, 833, 833, 833, 833, 833, 833,
556 836, 836, 841, 841, 768, 768, 843, 843, 843, 843,
557 843, 843, 843, 843, 843, 843, 843, 843, 843, 843,
558 843, 843, 843, 843, 843, 843, 843, 843, 843, 843,
559 843, 843, 843, 843, 768, 768, 768, 843, 843, 843,
560 843, 768, 768, 847, 847, 768, 768, 768, 768, 427,
561
562 852, 343, 852, 852, 852, 768, 768, 830, 830, 768,
563 833, 833, 833, 833, 833, 833, 833, 833, 833, 833,
564 833, 833, 836, 836, 841, 841, 843, 843, 843, 843,
565 843, 843, 843, 843, 843, 843, 843, 843, 843, 843,
566 843, 843, 843, 843, 843, 843, 843, 843, 843, 843,
567 843, 768, 768, 768, 768, 843, 843, 843, 843, 768,
568 856, 768, 768, 768, 852, 852, 852, 768, 768, 830,
569 830, 833, 833, 833, 833, 833, 833, 833, 833, 833,
570 833, 833, 833, 836, 836, 841, 841, 843, 843, 843,
571 843, 843, 843, 843, 843, 843, 843, 843, 843, 843,
572
573 843, 843, 843, 843, 843, 843, 768, 768, 768, 768,
574 843, 843, 843, 843, 856, 768, 856, 768, 768, 768,
575 768, 768, 833, 833, 833, 833, 833, 833, 833, 833,
576 833, 833, 833, 833, 843, 843, 843, 843, 843, 843,
577 843, 843, 843, 843, 843, 843, 843, 843, 843, 768,
578 768, 768, 768, 843, 843, 857, 768, 768, 768, 768,
579 768, 768, 768, 768, 768, 768, 768, 768, 833, 843,
580 843, 843, 843, 843, 843, 843, 843, 843, 768, 768,
581 768, 768, 843, 857, 768, 857, 768, 768, 768, 768,
582 768, 768, 768, 768, 768, 768, 768, 768, 843, 843,
583
584 843, 843, 843, 843, 843, 768, 768, 768, 768, 768,
585 768, 843, 843, 843, 843, 843, 843, 843, 768, 768,
586 768, 768, 768, 768, 843, 843, 843, 843, 843, 843,
587 768, 768, 768, 768, 768, 768, 843, 843, 843, 843,
588 768, 768, 768, 768, 768, 768, 843, 843, 843, 843,
589 768, 768, 768, 768, 843, 843, 843, 768, 768, 843,
590 843, 843, 843, 843, 843, 843, 843, 0, 768, 768,
591 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
592 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
593 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
594
595 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
596 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
597 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
598 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
599 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
600 768, 768, 768, 768, 768, 768, 768
601 } ;
602
603static yyconst short int yy_nxt[2775] =
604 { 0,
605 40, 41, 42, 43, 40, 40, 40, 40, 40, 40,
606 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
607 40, 40, 40, 44, 44, 40, 40, 40, 40, 44,
608 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
609 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
610 44, 44, 44, 44, 44, 40, 40, 40, 40, 45,
611 46, 47, 40, 48, 40, 49, 40, 40, 40, 40,
612 40, 40, 50, 40, 40, 40, 40, 40, 40, 40,
613 40, 51, 51, 40, 40, 40, 40, 51, 51, 51,
614 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
615
616 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
617 51, 51, 51, 40, 40, 40, 53, 54, 55, 56,
618 767, 57, 70, 71, 58, 58, 58, 129, 130, 58,
619 73, 70, 74, 129, 130, 59, 75, 87, 88, 89,
620 60, 61, 87, 88, 89, 188, 96, 97, 224, 132,
621 133, 210, 211, 96, 97, 404, 98, 134, 405, 99,
622 99, 99, 99, 98, 213, 213, 99, 99, 99, 99,
623 62, 58, 58, 63, 64, 65, 56, 252, 57, 66,
624 40, 58, 58, 58, 439, 189, 58, 102, 103, 104,
625 40, 252, 67, 102, 103, 104, 225, 60, 61, 275,
626
627 68, 100, 214, 107, 108, 276, 109, 178, 100, 179,
628 232, 105, 233, 107, 108, 572, 109, 105, 132, 133,
629 180, 180, 180, 180, 265, 266, 134, 62, 58, 58,
630 78, 78, 79, 80, 78, 78, 78, 78, 78, 78,
631 81, 78, 78, 78, 78, 78, 78, 78, 78, 78,
632 78, 78, 78, 82, 82, 78, 78, 78, 78, 82,
633 82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
634 82, 82, 82, 82, 82, 82, 82, 83, 82, 82,
635 82, 82, 82, 82, 84, 78, 78, 78, 90, 90,
636 40, 90, 90, 90, 90, 90, 90, 90, 91, 90,
637
638 91, 90, 90, 90, 90, 90, 90, 90, 90, 90,
639 92, 93, 93, 90, 90, 90, 90, 93, 93, 93,
640 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
641 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
642 93, 93, 93, 90, 90, 90, 111, 112, 296, 111,
643 112, 178, 766, 179, 181, 182, 183, 113, 265, 266,
644 113, 185, 186, 187, 180, 180, 180, 180, 297, 114,
645 115, 116, 114, 115, 116, 117, 117, 118, 119, 120,
646 117, 117, 117, 121, 117, 117, 117, 117, 117, 122,
647 117, 117, 117, 117, 117, 117, 117, 117, 123, 123,
648
649 117, 117, 117, 117, 123, 123, 123, 123, 123, 123,
650 123, 123, 123, 123, 123, 123, 123, 123, 123, 123,
651 123, 123, 124, 123, 123, 123, 123, 123, 123, 125,
652 126, 117, 127, 136, 137, 138, 136, 137, 138, 206,
653 206, 207, 215, 215, 215, 215, 248, 248, 248, 248,
654 268, 269, 268, 269, 300, 331, 332, 139, 301, 765,
655 139, 140, 141, 142, 143, 140, 140, 140, 144, 140,
656 140, 145, 140, 140, 140, 146, 140, 140, 140, 140,
657 140, 140, 140, 140, 147, 147, 140, 140, 140, 140,
658 147, 147, 147, 147, 147, 147, 147, 147, 147, 147,
659
660 147, 147, 147, 147, 147, 147, 147, 147, 148, 147,
661 147, 147, 147, 147, 147, 149, 140, 140, 140, 150,
662 151, 152, 153, 154, 150, 150, 150, 150, 150, 150,
663 150, 150, 150, 150, 150, 155, 156, 150, 150, 150,
664 157, 150, 150, 150, 150, 150, 150, 150, 150, 158,
665 159, 160, 161, 162, 163, 164, 164, 165, 164, 164,
666 166, 167, 168, 169, 170, 164, 171, 172, 164, 173,
667 174, 175, 164, 176, 150, 150, 150, 191, 201, 202,
668 203, 258, 213, 213, 204, 289, 213, 213, 213, 213,
669 292, 290, 217, 218, 219, 383, 303, 275, 220, 259,
670
671 192, 188, 193, 276, 193, 221, 304, 335, 336, 293,
672 193, 222, 384, 193, 194, 195, 480, 193, 196, 223,
673 214, 306, 481, 197, 214, 198, 214, 317, 317, 317,
674 317, 307, 764, 205, 308, 181, 182, 183, 185, 186,
675 187, 189, 321, 322, 323, 339, 340, 205, 321, 322,
676 323, 387, 321, 322, 323, 388, 324, 324, 324, 324,
677 342, 342, 324, 324, 324, 324, 324, 324, 324, 324,
678 321, 322, 323, 201, 202, 203, 341, 344, 344, 204,
679 380, 258, 339, 340, 324, 324, 324, 324, 325, 217,
680 218, 219, 265, 266, 381, 220, 326, 439, 343, 259,
681
682 265, 266, 221, 248, 248, 248, 248, 673, 222, 268,
683 269, 268, 269, 327, 392, 402, 223, 409, 393, 440,
684 410, 416, 417, 418, 403, 331, 332, 763, 205, 411,
685 412, 317, 317, 317, 317, 419, 419, 419, 419, 721,
686 413, 331, 332, 722, 205, 357, 357, 358, 359, 357,
687 357, 357, 357, 357, 357, 360, 357, 357, 357, 357,
688 357, 357, 357, 357, 357, 357, 357, 357, 360, 360,
689 357, 357, 357, 357, 360, 360, 360, 360, 360, 360,
690 360, 360, 360, 360, 360, 360, 360, 360, 360, 360,
691 360, 360, 360, 360, 360, 360, 360, 360, 360, 360,
692
693 357, 357, 357, 362, 363, 364, 365, 335, 336, 366,
694 335, 336, 339, 340, 367, 212, 212, 762, 368, 493,
695 494, 369, 761, 370, 417, 494, 371, 374, 374, 760,
696 374, 374, 374, 374, 374, 374, 374, 375, 374, 374,
697 374, 374, 374, 374, 374, 374, 374, 374, 374, 374,
698 375, 375, 374, 374, 374, 374, 375, 375, 375, 375,
699 375, 375, 375, 375, 375, 375, 375, 375, 375, 375,
700 375, 375, 375, 375, 375, 375, 375, 375, 375, 375,
701 375, 375, 374, 374, 374, 420, 322, 323, 427, 439,
702 439, 428, 428, 439, 339, 340, 431, 431, 439, 324,
703
704 324, 324, 324, 338, 439, 485, 339, 340, 486, 487,
705 439, 441, 443, 439, 442, 420, 322, 323, 450, 552,
706 759, 513, 493, 494, 516, 553, 444, 339, 340, 429,
707 338, 338, 439, 338, 338, 338, 338, 338, 338, 338,
708 338, 338, 338, 338, 338, 338, 338, 338, 338, 338,
709 338, 338, 338, 430, 430, 339, 340, 445, 338, 338,
710 430, 430, 430, 430, 430, 430, 430, 430, 430, 430,
711 430, 430, 430, 430, 430, 430, 430, 430, 430, 430,
712 430, 430, 430, 430, 430, 338, 338, 338, 432, 432,
713 432, 432, 758, 439, 339, 340, 432, 757, 339, 340,
714
715 495, 417, 418, 432, 432, 432, 432, 432, 432, 360,
716 360, 439, 438, 360, 360, 360, 360, 360, 360, 448,
717 360, 360, 360, 360, 360, 360, 360, 360, 360, 360,
718 360, 360, 439, 439, 360, 360, 360, 360, 439, 446,
719 501, 501, 447, 504, 504, 416, 417, 418, 616, 617,
720 339, 340, 638, 339, 340, 515, 439, 439, 449, 419,
721 419, 419, 419, 514, 360, 360, 360, 375, 375, 580,
722 375, 375, 375, 375, 375, 375, 375, 439, 375, 375,
723 375, 375, 375, 375, 375, 375, 375, 375, 375, 375,
724 517, 439, 375, 375, 375, 375, 495, 417, 418, 439,
725
726 439, 511, 439, 512, 439, 439, 339, 340, 209, 439,
727 419, 419, 419, 419, 439, 519, 520, 581, 518, 522,
728 566, 566, 375, 375, 375, 500, 500, 573, 521, 578,
729 339, 340, 500, 500, 500, 500, 500, 500, 500, 500,
730 500, 500, 500, 500, 500, 500, 500, 500, 500, 500,
731 500, 500, 500, 500, 500, 500, 500, 502, 502, 502,
732 502, 532, 439, 439, 439, 502, 439, 339, 340, 439,
733 339, 340, 502, 502, 502, 502, 502, 502, 505, 505,
734 505, 505, 439, 533, 582, 576, 505, 574, 579, 534,
735 575, 439, 439, 505, 505, 505, 505, 505, 505, 567,
736
737 567, 567, 567, 590, 339, 340, 338, 567, 577, 583,
738 439, 439, 625, 591, 567, 567, 567, 567, 567, 567,
739 439, 439, 624, 439, 439, 439, 439, 439, 439, 439,
740 616, 617, 439, 623, 616, 617, 685, 686, 685, 686,
741 756, 628, 626, 632, 708, 755, 634, 685, 686, 302,
742 302, 627, 629, 754, 753, 630, 631, 633, 752, 751,
743 750, 709, 669, 52, 52, 52, 52, 52, 52, 52,
744 52, 52, 52, 52, 52, 52, 52, 52, 52, 69,
745 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
746 69, 69, 69, 69, 69, 72, 72, 72, 72, 72,
747
748 72, 72, 72, 72, 72, 72, 72, 72, 72, 72,
749 72, 76, 76, 76, 76, 76, 76, 76, 76, 76,
750 76, 76, 76, 76, 76, 76, 76, 86, 86, 86,
751 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
752 86, 86, 86, 40, 40, 40, 40, 40, 40, 40,
753 40, 40, 40, 40, 40, 40, 40, 40, 40, 95,
754 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
755 95, 95, 95, 95, 95, 101, 101, 101, 101, 101,
756 101, 101, 101, 101, 101, 101, 101, 101, 101, 101,
757 101, 106, 106, 106, 106, 106, 106, 106, 106, 106,
758
759 106, 106, 106, 106, 106, 106, 106, 110, 110, 110,
760 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
761 110, 110, 110, 128, 128, 128, 128, 128, 128, 128,
762 128, 128, 128, 128, 128, 128, 128, 128, 128, 131,
763 131, 131, 131, 131, 131, 131, 131, 131, 131, 131,
764 131, 131, 131, 131, 131, 135, 135, 135, 135, 135,
765 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
766 135, 177, 177, 177, 177, 177, 177, 177, 177, 177,
767 177, 177, 177, 177, 177, 177, 177, 184, 184, 184,
768 184, 749, 748, 184, 184, 184, 190, 190, 190, 190,
769
770 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
771 190, 200, 200, 200, 200, 747, 746, 200, 200, 200,
772 209, 745, 209, 209, 209, 209, 209, 209, 209, 209,
773 209, 209, 209, 209, 209, 209, 212, 744, 212, 212,
774 212, 212, 212, 212, 212, 212, 212, 212, 212, 212,
775 212, 212, 216, 216, 216, 743, 742, 216, 216, 216,
776 227, 741, 227, 227, 227, 227, 227, 227, 227, 227,
777 227, 227, 227, 227, 227, 227, 229, 740, 229, 229,
778 229, 229, 229, 229, 229, 229, 229, 229, 229, 229,
779 229, 229, 230, 739, 230, 230, 230, 230, 230, 230,
780
781 230, 230, 230, 230, 230, 230, 230, 230, 234, 234,
782 234, 234, 234, 234, 234, 234, 234, 234, 234, 234,
783 234, 234, 234, 234, 236, 738, 236, 236, 737, 236,
784 236, 236, 736, 735, 236, 236, 734, 733, 732, 236,
785 238, 238, 238, 238, 731, 730, 238, 238, 238, 242,
786 729, 242, 242, 242, 242, 242, 242, 242, 242, 242,
787 242, 242, 242, 242, 242, 246, 246, 246, 246, 728,
788 727, 246, 246, 246, 251, 726, 251, 251, 251, 251,
789 251, 251, 251, 251, 251, 251, 251, 251, 251, 251,
790 254, 725, 254, 254, 254, 254, 254, 254, 254, 254,
791
792 254, 724, 254, 254, 254, 254, 255, 723, 720, 719,
793 255, 255, 255, 255, 718, 717, 255, 255, 257, 716,
794 257, 257, 257, 257, 257, 257, 257, 257, 257, 257,
795 257, 257, 257, 257, 261, 261, 261, 261, 715, 714,
796 261, 261, 261, 264, 264, 264, 264, 264, 264, 264,
797 264, 264, 264, 264, 264, 264, 264, 264, 264, 267,
798 267, 267, 267, 713, 267, 267, 267, 267, 267, 267,
799 267, 267, 267, 267, 267, 271, 712, 711, 271, 271,
800 271, 271, 271, 271, 271, 710, 271, 271, 271, 271,
801 271, 273, 707, 273, 273, 273, 273, 273, 273, 273,
802
803 273, 273, 273, 273, 273, 273, 273, 274, 706, 274,
804 274, 705, 274, 274, 274, 704, 703, 274, 274, 702,
805 701, 700, 274, 279, 279, 279, 279, 699, 698, 279,
806 279, 279, 284, 697, 284, 284, 284, 284, 284, 284,
807 284, 284, 284, 284, 284, 284, 284, 284, 288, 288,
808 696, 288, 288, 695, 694, 693, 288, 288, 315, 692,
809 315, 315, 315, 315, 315, 315, 315, 315, 315, 315,
810 315, 315, 315, 315, 319, 691, 319, 319, 319, 319,
811 319, 319, 319, 319, 319, 319, 319, 319, 319, 319,
812 320, 690, 320, 320, 320, 320, 320, 320, 320, 320,
813
814 320, 320, 320, 320, 320, 320, 328, 328, 689, 688,
815 328, 328, 328, 329, 329, 687, 683, 329, 329, 329,
816 330, 330, 330, 330, 330, 330, 330, 330, 330, 330,
817 330, 330, 330, 330, 330, 330, 334, 334, 334, 334,
818 334, 334, 334, 334, 334, 334, 334, 334, 334, 334,
819 334, 334, 338, 682, 338, 338, 338, 338, 338, 338,
820 338, 338, 338, 681, 338, 338, 338, 338, 209, 680,
821 209, 209, 209, 209, 209, 209, 209, 209, 209, 209,
822 209, 209, 209, 209, 345, 345, 679, 678, 677, 676,
823 345, 346, 346, 346, 346, 675, 674, 346, 346, 346,
824
825 346, 351, 673, 351, 351, 351, 351, 351, 351, 351,
826 351, 351, 351, 351, 351, 351, 351, 227, 672, 227,
827 227, 227, 227, 227, 227, 227, 227, 227, 227, 227,
828 227, 227, 227, 229, 671, 229, 229, 229, 229, 229,
829 229, 229, 229, 229, 229, 229, 229, 229, 229, 230,
830 670, 230, 230, 230, 230, 230, 230, 230, 230, 230,
831 230, 230, 230, 230, 230, 353, 668, 353, 353, 353,
832 353, 353, 353, 353, 353, 353, 353, 353, 353, 353,
833 353, 354, 667, 354, 354, 354, 354, 354, 354, 354,
834 354, 354, 354, 354, 354, 354, 354, 234, 234, 234,
835
836 234, 234, 234, 234, 234, 234, 234, 234, 234, 234,
837 234, 234, 234, 236, 666, 236, 236, 665, 236, 236,
838 236, 664, 663, 236, 236, 662, 661, 660, 236, 238,
839 238, 238, 238, 659, 658, 238, 238, 238, 242, 657,
840 242, 242, 242, 242, 242, 242, 242, 242, 242, 242,
841 242, 242, 242, 242, 246, 246, 246, 246, 656, 655,
842 246, 246, 246, 361, 361, 654, 653, 652, 361, 361,
843 255, 651, 650, 649, 255, 255, 255, 255, 648, 647,
844 255, 255, 257, 646, 257, 257, 257, 257, 257, 257,
845 257, 257, 257, 257, 257, 257, 257, 257, 261, 261,
846
847 261, 261, 645, 644, 261, 261, 261, 264, 264, 264,
848 264, 264, 264, 264, 264, 264, 264, 264, 264, 264,
849 264, 264, 264, 267, 267, 267, 267, 643, 267, 267,
850 267, 267, 267, 267, 267, 267, 267, 267, 267, 271,
851 642, 641, 271, 271, 271, 271, 271, 271, 271, 640,
852 271, 271, 271, 271, 271, 274, 639, 274, 274, 638,
853 274, 274, 274, 637, 636, 274, 274, 635, 622, 621,
854 274, 279, 279, 279, 279, 620, 619, 279, 279, 279,
855 284, 618, 284, 284, 284, 284, 284, 284, 284, 284,
856 284, 284, 284, 284, 284, 284, 288, 288, 560, 288,
857
858 288, 614, 613, 612, 288, 288, 315, 611, 315, 315,
859 315, 315, 315, 315, 315, 315, 315, 315, 315, 315,
860 315, 315, 319, 610, 319, 319, 319, 319, 319, 319,
861 319, 319, 319, 319, 319, 319, 319, 319, 320, 609,
862 320, 320, 320, 320, 320, 320, 320, 320, 320, 320,
863 320, 320, 320, 320, 415, 415, 415, 415, 415, 415,
864 415, 415, 415, 415, 415, 415, 415, 415, 415, 415,
865 424, 424, 424, 424, 608, 607, 424, 424, 424, 425,
866 425, 425, 425, 606, 605, 425, 425, 425, 330, 330,
867 330, 330, 330, 330, 330, 330, 330, 330, 330, 330,
868
869 330, 330, 330, 330, 334, 334, 334, 334, 334, 334,
870 334, 334, 334, 334, 334, 334, 334, 334, 334, 334,
871 338, 604, 338, 338, 338, 338, 338, 338, 338, 338,
872 338, 603, 338, 338, 338, 338, 433, 433, 602, 601,
873 600, 599, 433, 346, 346, 346, 346, 598, 597, 346,
874 346, 346, 346, 351, 596, 351, 351, 351, 351, 351,
875 351, 351, 351, 351, 351, 351, 351, 351, 351, 615,
876 615, 615, 615, 615, 615, 615, 615, 615, 615, 615,
877 615, 615, 615, 615, 615, 684, 684, 684, 684, 684,
878 684, 684, 684, 684, 684, 684, 684, 684, 684, 684,
879
880 684, 595, 594, 593, 592, 589, 588, 587, 586, 585,
881 584, 571, 570, 569, 568, 565, 564, 563, 562, 561,
882 560, 559, 558, 557, 556, 555, 554, 551, 550, 549,
883 548, 547, 546, 545, 544, 543, 542, 541, 540, 539,
884 538, 537, 536, 535, 531, 530, 529, 528, 527, 526,
885 525, 524, 523, 510, 509, 508, 507, 506, 503, 499,
886 498, 497, 496, 492, 491, 490, 489, 488, 484, 483,
887 482, 479, 478, 477, 476, 475, 474, 473, 472, 471,
888 470, 469, 468, 467, 466, 465, 464, 463, 462, 461,
889 460, 459, 458, 457, 456, 455, 454, 453, 452, 451,
890
891 439, 437, 436, 435, 434, 347, 426, 423, 422, 421,
892 322, 414, 316, 408, 407, 406, 401, 400, 399, 398,
893 397, 396, 395, 394, 391, 390, 389, 386, 385, 382,
894 379, 378, 285, 282, 377, 376, 278, 373, 372, 243,
895 356, 355, 235, 231, 352, 350, 349, 348, 218, 347,
896 337, 206, 333, 202, 318, 186, 182, 316, 314, 313,
897 312, 311, 310, 309, 305, 299, 298, 295, 294, 291,
898 287, 286, 285, 283, 282, 281, 280, 260, 278, 277,
899 272, 270, 263, 262, 260, 256, 250, 253, 250, 249,
900 247, 245, 244, 243, 241, 240, 239, 237, 235, 228,
901
902 231, 228, 226, 218, 208, 202, 199, 186, 182, 768,
903 94, 94, 85, 77, 77, 39, 768, 768, 768, 768,
904 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
905 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
906 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
907 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
908 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
909 768, 768, 768, 768
910 } ;
911
912static yyconst short int yy_chk[2775] =
913 { 0,
914 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
915 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
916 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
917 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
918 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
919 1, 1, 1, 1, 1, 1, 1, 1, 2, 2,
920 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
921 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
922 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
923 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
924
925 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
926 2, 2, 2, 2, 2, 2, 3, 3, 3, 3,
927 765, 3, 5, 5, 3, 3, 3, 27, 27, 3,
928 6, 6, 6, 28, 28, 3, 6, 11, 11, 11,
929 3, 3, 12, 12, 12, 48, 17, 17, 66, 29,
930 29, 60, 60, 18, 18, 310, 17, 29, 310, 17,
931 17, 17, 17, 18, 61, 61, 18, 18, 18, 18,
932 3, 3, 3, 4, 4, 4, 4, 109, 4, 4,
933 21, 4, 4, 4, 511, 48, 4, 19, 19, 19,
934 22, 109, 4, 20, 20, 20, 66, 4, 4, 141,
935
936 4, 17, 61, 21, 21, 141, 21, 37, 18, 37,
937 75, 19, 75, 22, 22, 511, 22, 20, 30, 30,
938 37, 37, 37, 37, 128, 128, 30, 4, 4, 4,
939 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
940 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
941 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
942 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
943 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
944 9, 9, 9, 9, 9, 9, 9, 9, 13, 13,
945 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
946
947 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
948 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
949 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
950 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
951 13, 13, 13, 13, 13, 13, 23, 23, 163, 24,
952 24, 38, 764, 38, 41, 41, 41, 23, 130, 130,
953 24, 45, 45, 45, 38, 38, 38, 38, 163, 23,
954 23, 23, 24, 24, 24, 25, 25, 25, 25, 25,
955 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
956 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
957
958 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
959 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
960 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
961 25, 25, 25, 31, 31, 31, 32, 32, 32, 57,
962 57, 57, 62, 62, 62, 62, 99, 99, 99, 99,
963 131, 131, 133, 133, 167, 198, 198, 31, 167, 763,
964 32, 33, 33, 33, 33, 33, 33, 33, 33, 33,
965 33, 33, 33, 33, 33, 33, 33, 33, 33, 33,
966 33, 33, 33, 33, 33, 33, 33, 33, 33, 33,
967 33, 33, 33, 33, 33, 33, 33, 33, 33, 33,
968
969 33, 33, 33, 33, 33, 33, 33, 33, 33, 33,
970 33, 33, 33, 33, 33, 33, 33, 33, 33, 35,
971 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
972 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
973 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
974 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
975 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
976 35, 35, 35, 35, 35, 35, 35, 49, 53, 53,
977 53, 121, 105, 105, 53, 158, 108, 108, 115, 115,
978 160, 158, 63, 63, 63, 291, 168, 275, 63, 121,
979
980 49, 188, 49, 275, 49, 63, 168, 205, 205, 160,
981 49, 63, 291, 49, 49, 49, 405, 49, 49, 63,
982 105, 170, 405, 49, 108, 49, 115, 180, 180, 180,
983 180, 170, 762, 53, 170, 181, 181, 181, 185, 185,
984 185, 188, 192, 192, 192, 209, 209, 63, 193, 193,
985 193, 294, 194, 194, 194, 294, 192, 192, 192, 192,
986 211, 211, 193, 193, 193, 193, 194, 194, 194, 194,
987 195, 195, 195, 201, 201, 201, 210, 213, 213, 201,
988 289, 257, 210, 210, 195, 195, 195, 195, 192, 217,
989 217, 217, 264, 264, 289, 217, 194, 362, 211, 257,
990
991 266, 266, 217, 248, 248, 248, 248, 761, 217, 267,
992 267, 269, 269, 195, 298, 309, 217, 314, 298, 362,
993 314, 321, 321, 321, 309, 330, 330, 760, 201, 314,
994 314, 317, 317, 317, 317, 321, 321, 321, 321, 708,
995 314, 332, 332, 708, 217, 241, 241, 241, 241, 241,
996 241, 241, 241, 241, 241, 241, 241, 241, 241, 241,
997 241, 241, 241, 241, 241, 241, 241, 241, 241, 241,
998 241, 241, 241, 241, 241, 241, 241, 241, 241, 241,
999 241, 241, 241, 241, 241, 241, 241, 241, 241, 241,
1000 241, 241, 241, 241, 241, 241, 241, 241, 241, 241,
1001
1002 241, 241, 241, 250, 250, 250, 250, 334, 334, 250,
1003 336, 336, 338, 338, 250, 344, 344, 757, 250, 415,
1004 415, 250, 756, 250, 418, 418, 250, 278, 278, 755,
1005 278, 278, 278, 278, 278, 278, 278, 278, 278, 278,
1006 278, 278, 278, 278, 278, 278, 278, 278, 278, 278,
1007 278, 278, 278, 278, 278, 278, 278, 278, 278, 278,
1008 278, 278, 278, 278, 278, 278, 278, 278, 278, 278,
1009 278, 278, 278, 278, 278, 278, 278, 278, 278, 278,
1010 278, 278, 278, 278, 278, 324, 324, 324, 339, 363,
1011 364, 340, 340, 365, 339, 339, 342, 342, 366, 324,
1012
1013 324, 324, 324, 340, 371, 409, 342, 342, 409, 409,
1014 441, 363, 365, 444, 364, 420, 420, 420, 371, 485,
1015 754, 441, 494, 494, 444, 485, 366, 504, 504, 340,
1016 341, 341, 367, 341, 341, 341, 341, 341, 341, 341,
1017 341, 341, 341, 341, 341, 341, 341, 341, 341, 341,
1018 341, 341, 341, 341, 341, 341, 341, 367, 341, 341,
1019 341, 341, 341, 341, 341, 341, 341, 341, 341, 341,
1020 341, 341, 341, 341, 341, 341, 341, 341, 341, 341,
1021 341, 341, 341, 341, 341, 341, 341, 341, 343, 343,
1022 343, 343, 752, 369, 505, 505, 343, 750, 343, 343,
1023
1024 495, 495, 495, 343, 343, 343, 343, 343, 343, 360,
1025 360, 368, 360, 360, 360, 360, 360, 360, 360, 369,
1026 360, 360, 360, 360, 360, 360, 360, 360, 360, 360,
1027 360, 360, 370, 442, 360, 360, 360, 360, 443, 368,
1028 428, 428, 368, 431, 431, 416, 416, 416, 561, 561,
1029 428, 428, 749, 431, 431, 443, 519, 445, 370, 416,
1030 416, 416, 416, 442, 360, 360, 360, 375, 375, 519,
1031 375, 375, 375, 375, 375, 375, 375, 440, 375, 375,
1032 375, 375, 375, 375, 375, 375, 375, 375, 375, 375,
1033 445, 447, 375, 375, 375, 375, 419, 419, 419, 446,
1034
1035 450, 440, 449, 440, 520, 448, 503, 503, 503, 512,
1036 419, 419, 419, 419, 517, 447, 448, 520, 446, 450,
1037 501, 501, 375, 375, 375, 427, 427, 512, 449, 517,
1038 501, 501, 427, 427, 427, 427, 427, 427, 427, 427,
1039 427, 427, 427, 427, 427, 427, 427, 427, 427, 427,
1040 427, 427, 427, 427, 427, 427, 427, 429, 429, 429,
1041 429, 462, 514, 513, 518, 429, 515, 566, 566, 521,
1042 567, 567, 429, 429, 429, 429, 429, 429, 432, 432,
1043 432, 432, 516, 462, 521, 515, 432, 513, 518, 462,
1044 514, 574, 522, 432, 432, 432, 432, 432, 432, 502,
1045
1046 502, 502, 502, 532, 565, 565, 565, 502, 516, 522,
1047 572, 573, 574, 532, 502, 502, 502, 502, 502, 502,
1048 575, 576, 573, 577, 578, 579, 580, 583, 581, 582,
1049 615, 615, 634, 572, 617, 617, 656, 656, 684, 684,
1050 748, 577, 575, 581, 681, 747, 583, 686, 686, 810,
1051 810, 576, 578, 745, 744, 579, 580, 582, 743, 742,
1052 740, 681, 634, 769, 769, 769, 769, 769, 769, 769,
1053 769, 769, 769, 769, 769, 769, 769, 769, 769, 770,
1054 770, 770, 770, 770, 770, 770, 770, 770, 770, 770,
1055 770, 770, 770, 770, 770, 771, 771, 771, 771, 771,
1056
1057 771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
1058 771, 772, 772, 772, 772, 772, 772, 772, 772, 772,
1059 772, 772, 772, 772, 772, 772, 772, 773, 773, 773,
1060 773, 773, 773, 773, 773, 773, 773, 773, 773, 773,
1061 773, 773, 773, 774, 774, 774, 774, 774, 774, 774,
1062 774, 774, 774, 774, 774, 774, 774, 774, 774, 775,
1063 775, 775, 775, 775, 775, 775, 775, 775, 775, 775,
1064 775, 775, 775, 775, 775, 776, 776, 776, 776, 776,
1065 776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
1066 776, 777, 777, 777, 777, 777, 777, 777, 777, 777,
1067
1068 777, 777, 777, 777, 777, 777, 777, 778, 778, 778,
1069 778, 778, 778, 778, 778, 778, 778, 778, 778, 778,
1070 778, 778, 778, 779, 779, 779, 779, 779, 779, 779,
1071 779, 779, 779, 779, 779, 779, 779, 779, 779, 780,
1072 780, 780, 780, 780, 780, 780, 780, 780, 780, 780,
1073 780, 780, 780, 780, 780, 781, 781, 781, 781, 781,
1074 781, 781, 781, 781, 781, 781, 781, 781, 781, 781,
1075 781, 782, 782, 782, 782, 782, 782, 782, 782, 782,
1076 782, 782, 782, 782, 782, 782, 782, 783, 783, 783,
1077 783, 739, 738, 783, 783, 783, 784, 784, 784, 784,
1078
1079 784, 784, 784, 784, 784, 784, 784, 784, 784, 784,
1080 784, 785, 785, 785, 785, 737, 736, 785, 785, 785,
1081 786, 735, 786, 786, 786, 786, 786, 786, 786, 786,
1082 786, 786, 786, 786, 786, 786, 787, 734, 787, 787,
1083 787, 787, 787, 787, 787, 787, 787, 787, 787, 787,
1084 787, 787, 788, 788, 788, 733, 732, 788, 788, 788,
1085 789, 731, 789, 789, 789, 789, 789, 789, 789, 789,
1086 789, 789, 789, 789, 789, 789, 790, 729, 790, 790,
1087 790, 790, 790, 790, 790, 790, 790, 790, 790, 790,
1088 790, 790, 791, 727, 791, 791, 791, 791, 791, 791,
1089
1090 791, 791, 791, 791, 791, 791, 791, 791, 792, 792,
1091 792, 792, 792, 792, 792, 792, 792, 792, 792, 792,
1092 792, 792, 792, 792, 793, 726, 793, 793, 725, 793,
1093 793, 793, 724, 723, 793, 793, 722, 721, 720, 793,
1094 794, 794, 794, 794, 719, 718, 794, 794, 794, 795,
1095 717, 795, 795, 795, 795, 795, 795, 795, 795, 795,
1096 795, 795, 795, 795, 795, 796, 796, 796, 796, 715,
1097 714, 796, 796, 796, 797, 713, 797, 797, 797, 797,
1098 797, 797, 797, 797, 797, 797, 797, 797, 797, 797,
1099 798, 712, 798, 798, 798, 798, 798, 798, 798, 798,
1100
1101 798, 710, 798, 798, 798, 798, 799, 709, 707, 706,
1102 799, 799, 799, 799, 705, 704, 799, 799, 800, 703,
1103 800, 800, 800, 800, 800, 800, 800, 800, 800, 800,
1104 800, 800, 800, 800, 801, 801, 801, 801, 702, 701,
1105 801, 801, 801, 802, 802, 802, 802, 802, 802, 802,
1106 802, 802, 802, 802, 802, 802, 802, 802, 802, 803,
1107 803, 803, 803, 700, 803, 803, 803, 803, 803, 803,
1108 803, 803, 803, 803, 803, 804, 699, 698, 804, 804,
1109 804, 804, 804, 804, 804, 682, 804, 804, 804, 804,
1110 804, 805, 680, 805, 805, 805, 805, 805, 805, 805,
1111
1112 805, 805, 805, 805, 805, 805, 805, 806, 679, 806,
1113 806, 678, 806, 806, 806, 677, 675, 806, 806, 674,
1114 672, 671, 806, 807, 807, 807, 807, 670, 669, 807,
1115 807, 807, 808, 668, 808, 808, 808, 808, 808, 808,
1116 808, 808, 808, 808, 808, 808, 808, 808, 809, 809,
1117 667, 809, 809, 666, 665, 664, 809, 809, 811, 663,
1118 811, 811, 811, 811, 811, 811, 811, 811, 811, 811,
1119 811, 811, 811, 811, 812, 662, 812, 812, 812, 812,
1120 812, 812, 812, 812, 812, 812, 812, 812, 812, 812,
1121 813, 661, 813, 813, 813, 813, 813, 813, 813, 813,
1122
1123 813, 813, 813, 813, 813, 813, 814, 814, 660, 659,
1124 814, 814, 814, 815, 815, 658, 655, 815, 815, 815,
1125 816, 816, 816, 816, 816, 816, 816, 816, 816, 816,
1126 816, 816, 816, 816, 816, 816, 817, 817, 817, 817,
1127 817, 817, 817, 817, 817, 817, 817, 817, 817, 817,
1128 817, 817, 818, 653, 818, 818, 818, 818, 818, 818,
1129 818, 818, 818, 652, 818, 818, 818, 818, 819, 651,
1130 819, 819, 819, 819, 819, 819, 819, 819, 819, 819,
1131 819, 819, 819, 819, 820, 820, 650, 646, 644, 643,
1132 820, 821, 821, 821, 821, 642, 641, 821, 821, 821,
1133
1134 821, 822, 639, 822, 822, 822, 822, 822, 822, 822,
1135 822, 822, 822, 822, 822, 822, 822, 823, 637, 823,
1136 823, 823, 823, 823, 823, 823, 823, 823, 823, 823,
1137 823, 823, 823, 824, 636, 824, 824, 824, 824, 824,
1138 824, 824, 824, 824, 824, 824, 824, 824, 824, 825,
1139 635, 825, 825, 825, 825, 825, 825, 825, 825, 825,
1140 825, 825, 825, 825, 825, 826, 633, 826, 826, 826,
1141 826, 826, 826, 826, 826, 826, 826, 826, 826, 826,
1142 826, 827, 632, 827, 827, 827, 827, 827, 827, 827,
1143 827, 827, 827, 827, 827, 827, 827, 828, 828, 828,
1144
1145 828, 828, 828, 828, 828, 828, 828, 828, 828, 828,
1146 828, 828, 828, 829, 631, 829, 829, 630, 829, 829,
1147 829, 629, 628, 829, 829, 627, 626, 625, 829, 830,
1148 830, 830, 830, 624, 623, 830, 830, 830, 831, 621,
1149 831, 831, 831, 831, 831, 831, 831, 831, 831, 831,
1150 831, 831, 831, 831, 832, 832, 832, 832, 619, 612,
1151 832, 832, 832, 833, 833, 611, 610, 609, 833, 833,
1152 834, 608, 607, 606, 834, 834, 834, 834, 604, 601,
1153 834, 834, 835, 600, 835, 835, 835, 835, 835, 835,
1154 835, 835, 835, 835, 835, 835, 835, 835, 836, 836,
1155
1156 836, 836, 599, 598, 836, 836, 836, 837, 837, 837,
1157 837, 837, 837, 837, 837, 837, 837, 837, 837, 837,
1158 837, 837, 837, 838, 838, 838, 838, 597, 838, 838,
1159 838, 838, 838, 838, 838, 838, 838, 838, 838, 839,
1160 596, 595, 839, 839, 839, 839, 839, 839, 839, 594,
1161 839, 839, 839, 839, 839, 840, 593, 840, 840, 592,
1162 840, 840, 840, 591, 590, 840, 840, 588, 569, 568,
1163 840, 841, 841, 841, 841, 564, 563, 841, 841, 841,
1164 842, 562, 842, 842, 842, 842, 842, 842, 842, 842,
1165 842, 842, 842, 842, 842, 842, 843, 843, 560, 843,
1166
1167 843, 559, 558, 557, 843, 843, 844, 556, 844, 844,
1168 844, 844, 844, 844, 844, 844, 844, 844, 844, 844,
1169 844, 844, 845, 555, 845, 845, 845, 845, 845, 845,
1170 845, 845, 845, 845, 845, 845, 845, 845, 846, 554,
1171 846, 846, 846, 846, 846, 846, 846, 846, 846, 846,
1172 846, 846, 846, 846, 847, 847, 847, 847, 847, 847,
1173 847, 847, 847, 847, 847, 847, 847, 847, 847, 847,
1174 848, 848, 848, 848, 553, 552, 848, 848, 848, 849,
1175 849, 849, 849, 551, 549, 849, 849, 849, 850, 850,
1176 850, 850, 850, 850, 850, 850, 850, 850, 850, 850,
1177
1178 850, 850, 850, 850, 851, 851, 851, 851, 851, 851,
1179 851, 851, 851, 851, 851, 851, 851, 851, 851, 851,
1180 852, 548, 852, 852, 852, 852, 852, 852, 852, 852,
1181 852, 546, 852, 852, 852, 852, 853, 853, 545, 544,
1182 543, 542, 853, 854, 854, 854, 854, 541, 540, 854,
1183 854, 854, 854, 855, 539, 855, 855, 855, 855, 855,
1184 855, 855, 855, 855, 855, 855, 855, 855, 855, 856,
1185 856, 856, 856, 856, 856, 856, 856, 856, 856, 856,
1186 856, 856, 856, 856, 856, 857, 857, 857, 857, 857,
1187 857, 857, 857, 857, 857, 857, 857, 857, 857, 857,
1188
1189 857, 538, 536, 534, 533, 530, 528, 526, 525, 524,
1190 523, 509, 508, 507, 506, 500, 499, 498, 497, 496,
1191 492, 491, 490, 489, 488, 487, 486, 483, 482, 481,
1192 480, 479, 478, 476, 475, 474, 473, 472, 471, 469,
1193 468, 467, 464, 463, 461, 460, 459, 458, 457, 454,
1194 453, 452, 451, 439, 437, 436, 435, 434, 430, 426,
1195 423, 422, 421, 414, 413, 412, 411, 410, 408, 407,
1196 406, 404, 403, 402, 401, 400, 399, 398, 397, 396,
1197 395, 394, 393, 392, 391, 390, 388, 387, 386, 384,
1198 383, 382, 381, 380, 379, 378, 377, 376, 373, 372,
1199
1200 361, 356, 355, 352, 350, 346, 337, 327, 326, 325,
1201 323, 318, 315, 313, 312, 311, 308, 307, 306, 305,
1202 303, 301, 300, 299, 297, 296, 295, 293, 292, 290,
1203 287, 286, 284, 282, 281, 280, 276, 263, 262, 243,
1204 240, 239, 234, 231, 226, 222, 221, 220, 219, 216,
1205 208, 207, 204, 203, 189, 187, 183, 179, 176, 175,
1206 174, 173, 172, 171, 169, 166, 165, 162, 161, 159,
1207 156, 155, 154, 153, 151, 149, 148, 146, 144, 143,
1208 137, 134, 125, 124, 122, 119, 114, 112, 107, 103,
1209 97, 92, 89, 87, 85, 84, 83, 80, 76, 74,
1210
1211 73, 71, 67, 65, 59, 55, 50, 47, 43, 39,
1212 16, 15, 10, 8, 7, 768, 768, 768, 768, 768,
1213 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
1214 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
1215 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
1216 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
1217 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
1218 768, 768, 768, 768
1219 } ;
1220
1221static yy_state_type yy_last_accepting_state;
1222static char *yy_last_accepting_cpos;
1223
1224/* The intent behind this definition is that it'll catch
1225 * any uses of REJECT which flex missed.
1226 */
1227#define REJECT reject_used_but_not_detected
1228#define yymore() yymore_used_but_not_detected
1229#define YY_MORE_ADJ 0
1230#define YY_RESTORE_YY_MORE_OFFSET
1231char *yytext;
1232#line 1 "scan.l"
1233#define INITIAL 0
1234/* scan.l - scanner for flex input */
1235#line 4 "scan.l"
1236/*-
1237 * Copyright (c) 1990 The Regents of the University of California.
1238 * All rights reserved.
1239 *
1240 * This code is derived from software contributed to Berkeley by
1241 * Vern Paxson.
1242 *
1243 * The United States Government has rights in this work pursuant
1244 * to contract no. DE-AC03-76SF00098 between the United States
1245 * Department of Energy and the University of California.
1246 *
1247 * Redistribution and use in source and binary forms are permitted provided
1248 * that: (1) source distributions retain this entire copyright notice and
1249 * comment, and (2) distributions including binaries display the following
1250 * acknowledgement: ``This product includes software developed by the
1251 * University of California, Berkeley and its contributors'' in the
1252 * documentation or other materials provided with the distribution and in
1253 * all advertising materials mentioning features or use of this software.
1254 * Neither the name of the University nor the names of its contributors may
1255 * be used to endorse or promote products derived from this software without
1256 * specific prior written permission.
1257 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
1258 * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
1259 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
1260 */
1261
1262/* $FreeBSD: src/usr.bin/lex/initscan.c,v 1.6 1999/10/27 07:56:45 obrien Exp $ */
1263
1264#include "flexdef.h"
1265#include "parse.h"
1266
1267#define ACTION_ECHO add_action( yytext )
1268#define ACTION_IFDEF(def, should_define) \
1269 { \
1270 if ( should_define ) \
1271 action_define( def, 1 ); \
1272 }
1273
1274#define MARK_END_OF_PROLOG mark_prolog();
1275
1276#define YY_DECL \
1277 int flexscan()
1278
1279#define RETURNCHAR \
1280 yylval = (unsigned char) yytext[0]; \
1281 return CHAR;
1282
1283#define RETURNNAME \
1284 strcpy( nmstr, yytext ); \
1285 return NAME;
1286
1287#define PUT_BACK_STRING(str, start) \
1288 for ( i = strlen( str ) - 1; i >= start; --i ) \
1289 unput((str)[i])
1290
1291#define CHECK_REJECT(str) \
1292 if ( all_upper( str ) ) \
1293 reject = true;
1294
1295#define CHECK_YYMORE(str) \
1296 if ( all_lower( str ) ) \
1297 yymore_used = true;
1298#define YY_STACK_USED 1
1299#define YY_NO_TOP_STATE 1
1300#define SECT2 1
1301#define SECT2PROLOG 2
1302#define SECT3 3
1303#define CODEBLOCK 4
1304#define PICKUPDEF 5
1305#define SC 6
1306#define CARETISBOL 7
1307#define NUM 8
1308#define QUOTE 9
1309
1310#define FIRSTCCL 10
1311#define CCL 11
1312#define ACTION 12
1313#define RECOVER 13
1314#define COMMENT 14
1315#define ACTION_STRING 15
1316#define PERCENT_BRACE_ACTION 16
1317
1318#define OPTION 17
1319#define LINEDIR 18
1320
1321#line 1333 "scan.c"
1322
1323/* Macros after this point can all be overridden by user definitions in
1324 * section 1.
1325 */
1326
1327#ifndef YY_SKIP_YYWRAP
1328#ifdef __cplusplus
1329extern "C" int yywrap YY_PROTO(( void ));
1330#else
1331extern int yywrap YY_PROTO(( void ));
1332#endif
1333#endif
1334
1335#ifndef YY_NO_UNPUT
1336static void yyunput YY_PROTO(( int c, char *buf_ptr ));
1337#endif
1338
1339#ifndef yytext_ptr
1340static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));
1341#endif
1342
1343#ifdef YY_NEED_STRLEN
1344static int yy_flex_strlen YY_PROTO(( yyconst char * ));
1345#endif
1346
1347#ifndef YY_NO_INPUT
1348#ifdef __cplusplus
1349static int yyinput YY_PROTO(( void ));
1350#else
1351static int input YY_PROTO(( void ));
1352#endif
1353#endif
1354
1355#if YY_STACK_USED
1356static int yy_start_stack_ptr = 0;
1357static int yy_start_stack_depth = 0;
678e8cc6 1358static int *yy_start_stack = NULL;
984263bc
MD
1359#ifndef YY_NO_PUSH_STATE
1360static void yy_push_state YY_PROTO(( int new_state ));
1361#endif
1362#ifndef YY_NO_POP_STATE
1363static void yy_pop_state YY_PROTO(( void ));
1364#endif
1365#ifndef YY_NO_TOP_STATE
1366static int yy_top_state YY_PROTO(( void ));
1367#endif
1368
1369#else
1370#define YY_NO_PUSH_STATE 1
1371#define YY_NO_POP_STATE 1
1372#define YY_NO_TOP_STATE 1
1373#endif
1374
1375#ifdef YY_MALLOC_DECL
1376YY_MALLOC_DECL
1377#else
984263bc
MD
1378#ifndef __cplusplus
1379#include <stdlib.h>
1380#endif
984263bc
MD
1381#endif
1382
1383/* Amount of stuff to slurp up with each read. */
1384#ifndef YY_READ_BUF_SIZE
1385#define YY_READ_BUF_SIZE 8192
1386#endif
1387
1388/* Copy whatever the last rule matched to the standard output. */
1389
1390#ifndef ECHO
1391/* This used to be an fputs(), but since the string might contain NUL's,
1392 * we now use fwrite().
1393 */
1394#define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
1395#endif
1396
1397/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
1398 * is returned in "result".
1399 */
1400#ifndef YY_INPUT
1401#define YY_INPUT(buf,result,max_size) \
1402 if ( yy_current_buffer->yy_is_interactive ) \
1403 { \
1404 int c = '*', n; \
1405 for ( n = 0; n < max_size && \
1406 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
1407 buf[n] = (char) c; \
1408 if ( c == '\n' ) \
1409 buf[n++] = (char) c; \
1410 if ( c == EOF && ferror( yyin ) ) \
1411 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1412 result = n; \
1413 } \
1414 else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \
1415 && ferror( yyin ) ) \
1416 YY_FATAL_ERROR( "input in flex scanner failed" );
1417#endif
1418
1419/* No semi-colon after return; correct usage is to write "yyterminate();" -
1420 * we don't want an extra ';' after the "return" because that will cause
1421 * some compilers to complain about unreachable statements.
1422 */
1423#ifndef yyterminate
1424#define yyterminate() return YY_NULL
1425#endif
1426
1427/* Number of entries by which start-condition stack grows. */
1428#ifndef YY_START_STACK_INCR
1429#define YY_START_STACK_INCR 25
1430#endif
1431
1432/* Report a fatal error. */
1433#ifndef YY_FATAL_ERROR
1434#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
1435#endif
1436
1437/* Default declaration of generated scanner - a define so the user can
1438 * easily add parameters.
1439 */
1440#ifndef YY_DECL
1441#define YY_DECL int yylex YY_PROTO(( void ))
1442#endif
1443
1444/* Code executed at the beginning of each rule, after yytext and yyleng
1445 * have been set up.
1446 */
1447#ifndef YY_USER_ACTION
1448#define YY_USER_ACTION
1449#endif
1450
1451/* Code executed at the end of each rule. */
1452#ifndef YY_BREAK
1453#define YY_BREAK break;
1454#endif
1455
1456#define YY_RULE_SETUP \
1457 if ( yyleng > 0 ) \
1458 yy_current_buffer->yy_at_bol = \
1459 (yytext[yyleng - 1] == '\n'); \
1460 YY_USER_ACTION
1461
1462YY_DECL
1463 {
6bd457ed
DR
1464 yy_state_type yy_current_state;
1465 char *yy_cp, *yy_bp;
1466 int yy_act;
984263bc
MD
1467
1468#line 94 "scan.l"
1469
1470 static int bracelevel, didadef, indented_code;
1471 static int doing_rule_action = false;
1472 static int option_sense;
1473
1474 int doing_codeblock = false;
1475 int i;
1476 Char nmdef[MAXLINE], myesc();
1477
1478
1479#line 1498 "scan.c"
1480
1481 if ( yy_init )
1482 {
1483 yy_init = 0;
1484
1485#ifdef YY_USER_INIT
1486 YY_USER_INIT;
1487#endif
1488
1489 if ( ! yy_start )
1490 yy_start = 1; /* first start state */
1491
1492 if ( ! yyin )
1493 yyin = stdin;
1494
1495 if ( ! yyout )
1496 yyout = stdout;
1497
1498 if ( ! yy_current_buffer )
1499 yy_current_buffer =
1500 yy_create_buffer( yyin, YY_BUF_SIZE );
1501
1502 yy_load_buffer_state();
1503 }
1504
1505 while ( 1 ) /* loops until end-of-file is reached */
1506 {
1507 yy_cp = yy_c_buf_p;
1508
1509 /* Support of yytext. */
1510 *yy_cp = yy_hold_char;
1511
1512 /* yy_bp points to the position in yy_ch_buf of the start of
1513 * the current run.
1514 */
1515 yy_bp = yy_cp;
1516
1517 yy_current_state = yy_start;
1518 yy_current_state += YY_AT_BOL();
1519yy_match:
1520 do
1521 {
6bd457ed 1522 YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
984263bc
MD
1523 if ( yy_accept[yy_current_state] )
1524 {
1525 yy_last_accepting_state = yy_current_state;
1526 yy_last_accepting_cpos = yy_cp;
1527 }
1528 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1529 {
1530 yy_current_state = (int) yy_def[yy_current_state];
1531 if ( yy_current_state >= 769 )
1532 yy_c = yy_meta[(unsigned int) yy_c];
1533 }
1534 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
1535 ++yy_cp;
1536 }
1537 while ( yy_base[yy_current_state] != 2716 );
1538
1539yy_find_action:
1540 yy_act = yy_accept[yy_current_state];
1541 if ( yy_act == 0 )
1542 { /* have to back up */
1543 yy_cp = yy_last_accepting_cpos;
1544 yy_current_state = yy_last_accepting_state;
1545 yy_act = yy_accept[yy_current_state];
1546 }
1547
1548 YY_DO_BEFORE_ACTION;
1549
1550
1551do_action: /* This label is used only to access EOF actions. */
1552
1553
1554 switch ( yy_act )
1555 { /* beginning of action switch */
1556 case 0: /* must back up */
1557 /* undo the effects of YY_DO_BEFORE_ACTION */
1558 *yy_cp = yy_hold_char;
1559 yy_cp = yy_last_accepting_cpos;
1560 yy_current_state = yy_last_accepting_state;
1561 goto yy_find_action;
1562
1563
1564case 1:
1565YY_RULE_SETUP
1566#line 105 "scan.l"
1567indented_code = true; BEGIN(CODEBLOCK);
1568 YY_BREAK
1569case 2:
1570YY_RULE_SETUP
1571#line 106 "scan.l"
1572ACTION_ECHO; yy_push_state( COMMENT );
1573 YY_BREAK
1574case 3:
1575YY_RULE_SETUP
1576#line 107 "scan.l"
1577yy_push_state( LINEDIR );
1578 YY_BREAK
1579case 4:
1580YY_RULE_SETUP
1581#line 108 "scan.l"
1582return SCDECL;
1583 YY_BREAK
1584case 5:
1585YY_RULE_SETUP
1586#line 109 "scan.l"
1587return XSCDECL;
1588 YY_BREAK
1589case 6:
1590YY_RULE_SETUP
1591#line 110 "scan.l"
1592{
1593 ++linenum;
902ec341 1594 line_directive_out( NULL, 1 );
984263bc
MD
1595 indented_code = false;
1596 BEGIN(CODEBLOCK);
1597 }
1598 YY_BREAK
1599case 7:
1600YY_RULE_SETUP
1601#line 117 "scan.l"
1602/* discard */
1603 YY_BREAK
1604case 8:
1605YY_RULE_SETUP
1606#line 119 "scan.l"
1607{
1608 sectnum = 2;
1609 bracelevel = 0;
1610 mark_defs1();
902ec341 1611 line_directive_out( NULL, 1 );
984263bc
MD
1612 BEGIN(SECT2PROLOG);
1613 return SECTEND;
1614 }
1615 YY_BREAK
1616case 9:
1617YY_RULE_SETUP
1618#line 128 "scan.l"
1619yytext_is_array = false; ++linenum;
1620 YY_BREAK
1621case 10:
1622YY_RULE_SETUP
1623#line 129 "scan.l"
1624yytext_is_array = true; ++linenum;
1625 YY_BREAK
1626case 11:
1627YY_RULE_SETUP
1628#line 131 "scan.l"
1629BEGIN(OPTION); return OPTION_OP;
1630 YY_BREAK
1631case 12:
1632YY_RULE_SETUP
1633#line 133 "scan.l"
1634++linenum; /* ignore */
1635 YY_BREAK
1636case 13:
1637YY_RULE_SETUP
1638#line 134 "scan.l"
1639++linenum; /* ignore */
1640 YY_BREAK
1641case 14:
1642YY_RULE_SETUP
1643#line 136 "scan.l"
1644synerr( _( "unrecognized '%' directive" ) );
1645 YY_BREAK
1646case 15:
1647YY_RULE_SETUP
1648#line 138 "scan.l"
1649{
1650 strcpy( nmstr, yytext );
1651 didadef = false;
1652 BEGIN(PICKUPDEF);
1653 }
1654 YY_BREAK
1655case 16:
1656YY_RULE_SETUP
1657#line 144 "scan.l"
1658RETURNNAME;
1659 YY_BREAK
1660case 17:
1661YY_RULE_SETUP
1662#line 145 "scan.l"
1663++linenum; /* allows blank lines in section 1 */
1664 YY_BREAK
1665case 18:
1666YY_RULE_SETUP
1667#line 146 "scan.l"
1668ACTION_ECHO; ++linenum; /* maybe end of comment line */
1669 YY_BREAK
1670
1671
1672case 19:
1673YY_RULE_SETUP
1674#line 151 "scan.l"
1675ACTION_ECHO; yy_pop_state();
1676 YY_BREAK
1677case 20:
1678YY_RULE_SETUP
1679#line 152 "scan.l"
1680ACTION_ECHO;
1681 YY_BREAK
1682case 21:
1683YY_RULE_SETUP
1684#line 153 "scan.l"
1685ACTION_ECHO;
1686 YY_BREAK
1687case 22:
1688YY_RULE_SETUP
1689#line 154 "scan.l"
1690++linenum; ACTION_ECHO;
1691 YY_BREAK
1692
1693
1694case 23:
1695YY_RULE_SETUP
1696#line 158 "scan.l"
1697yy_pop_state();
1698 YY_BREAK
1699case 24:
1700YY_RULE_SETUP
1701#line 159 "scan.l"
1702linenum = myctoi( yytext );
1703 YY_BREAK
1704case 25:
1705YY_RULE_SETUP
1706#line 161 "scan.l"
1707{
1708 flex_free( (void *) infilename );
1709 infilename = copy_string( yytext + 1 );
1710 infilename[strlen( infilename ) - 1] = '\0';
1711 }
1712 YY_BREAK
1713case 26:
1714YY_RULE_SETUP
1715#line 166 "scan.l"
1716/* ignore spurious characters */
1717 YY_BREAK
1718
1719
1720case 27:
1721YY_RULE_SETUP
1722#line 170 "scan.l"
1723++linenum; BEGIN(INITIAL);
1724 YY_BREAK
1725case 28:
1726YY_RULE_SETUP
1727#line 172 "scan.l"
1728ACTION_ECHO;
1729 YY_BREAK
1730case 29:
1731YY_RULE_SETUP
1732#line 174 "scan.l"
1733{
1734 ++linenum;
1735 ACTION_ECHO;
1736 if ( indented_code )
1737 BEGIN(INITIAL);
1738 }
1739 YY_BREAK
1740
1741
1742case 30:
1743YY_RULE_SETUP
1744#line 184 "scan.l"
1745/* separates name and definition */
1746 YY_BREAK
1747case 31:
1748YY_RULE_SETUP
1749#line 186 "scan.l"
1750{
1751 strcpy( (char *) nmdef, yytext );
1752
1753 /* Skip trailing whitespace. */
1754 for ( i = strlen( (char *) nmdef ) - 1;
1755 i >= 0 && (nmdef[i] == ' ' || nmdef[i] == '\t');
1756 --i )
1757 ;
1758
1759 nmdef[i + 1] = '\0';
1760
1761 ndinstal( nmstr, nmdef );
1762 didadef = true;
1763 }
1764 YY_BREAK
1765case 32:
1766YY_RULE_SETUP
1767#line 201 "scan.l"
1768{
1769 if ( ! didadef )
1770 synerr( _( "incomplete name definition" ) );
1771 BEGIN(INITIAL);
1772 ++linenum;
1773 }
1774 YY_BREAK
1775
1776
1777case 33:
1778YY_RULE_SETUP
1779#line 211 "scan.l"
1780++linenum; BEGIN(INITIAL);
1781 YY_BREAK
1782case 34:
1783YY_RULE_SETUP
1784#line 212 "scan.l"
1785option_sense = true;
1786 YY_BREAK
1787case 35:
1788YY_RULE_SETUP
1789#line 214 "scan.l"
1790return '=';
1791 YY_BREAK
1792case 36:
1793YY_RULE_SETUP
1794#line 216 "scan.l"
1795option_sense = ! option_sense;
1796 YY_BREAK
1797case 37:
1798YY_RULE_SETUP
1799#line 218 "scan.l"
1800csize = option_sense ? 128 : 256;
1801 YY_BREAK
1802case 38:
1803YY_RULE_SETUP
1804#line 219 "scan.l"
1805csize = option_sense ? 256 : 128;
1806 YY_BREAK
1807case 39:
1808YY_RULE_SETUP
1809#line 221 "scan.l"
1810long_align = option_sense;
1811 YY_BREAK
1812case 40:
1813YY_RULE_SETUP
1814#line 222 "scan.l"
1815{
1816 action_define( "YY_ALWAYS_INTERACTIVE", option_sense );
1817 }
1818 YY_BREAK
1819case 41:
1820YY_RULE_SETUP
1821#line 225 "scan.l"
1822yytext_is_array = option_sense;
1823 YY_BREAK
1824case 42:
1825YY_RULE_SETUP
1826#line 226 "scan.l"
1827backing_up_report = option_sense;
1828 YY_BREAK
1829case 43:
1830YY_RULE_SETUP
1831#line 227 "scan.l"
1832interactive = ! option_sense;
1833 YY_BREAK
1834case 44:
1835YY_RULE_SETUP
1836#line 228 "scan.l"
1837C_plus_plus = option_sense;
1838 YY_BREAK
1839case 45:
1840YY_RULE_SETUP
1841#line 229 "scan.l"
1842caseins = ! option_sense;
1843 YY_BREAK
1844case 46:
1845YY_RULE_SETUP
1846#line 230 "scan.l"
1847caseins = option_sense;
1848 YY_BREAK
1849case 47:
1850YY_RULE_SETUP
1851#line 231 "scan.l"
1852ddebug = option_sense;
1853 YY_BREAK
1854case 48:
1855YY_RULE_SETUP
1856#line 232 "scan.l"
1857spprdflt = ! option_sense;
1858 YY_BREAK
1859case 49:
1860YY_RULE_SETUP
1861#line 233 "scan.l"
1862useecs = option_sense;
1863 YY_BREAK
1864case 50:
1865YY_RULE_SETUP
1866#line 234 "scan.l"
1867{
1868 useecs = usemecs = false;
1869 use_read = fullspd = true;
1870 }
1871 YY_BREAK
1872case 51:
1873YY_RULE_SETUP
1874#line 238 "scan.l"
1875{
1876 useecs = usemecs = false;
1877 use_read = fulltbl = true;
1878 }
1879 YY_BREAK
1880case 52:
1881YY_RULE_SETUP
1882#line 242 "scan.l"
1883ACTION_IFDEF("YY_NO_INPUT", ! option_sense);
1884 YY_BREAK
1885case 53:
1886YY_RULE_SETUP
1887#line 243 "scan.l"
1888interactive = option_sense;
1889 YY_BREAK
1890case 54:
1891YY_RULE_SETUP
1892#line 244 "scan.l"
1893lex_compat = option_sense;
1894 YY_BREAK
1895case 55:
1896YY_RULE_SETUP
1897#line 245 "scan.l"
1898{
1899 action_define( "YY_MAIN", option_sense );
1900 do_yywrap = ! option_sense;
1901 }
1902 YY_BREAK
1903case 56:
1904YY_RULE_SETUP
1905#line 249 "scan.l"
1906usemecs = option_sense;
1907 YY_BREAK
1908case 57:
1909YY_RULE_SETUP
1910#line 250 "scan.l"
1911{
1912 action_define( "YY_NEVER_INTERACTIVE", option_sense );
1913 }
1914 YY_BREAK
1915case 58:
1916YY_RULE_SETUP
1917#line 253 "scan.l"
1918performance_report += option_sense ? 1 : -1;
1919 YY_BREAK
1920case 59:
1921YY_RULE_SETUP
1922#line 254 "scan.l"
1923yytext_is_array = ! option_sense;
1924 YY_BREAK
1925case 60:
1926YY_RULE_SETUP
1927#line 255 "scan.l"
1928use_read = option_sense;
1929 YY_BREAK
1930case 61:
1931YY_RULE_SETUP
1932#line 256 "scan.l"
1933reject_really_used = option_sense;
1934 YY_BREAK
1935case 62:
1936YY_RULE_SETUP
1937#line 257 "scan.l"
1938action_define( "YY_STACK_USED", option_sense );
1939 YY_BREAK
1940case 63:
1941YY_RULE_SETUP
1942#line 258 "scan.l"
1943do_stdinit = option_sense;
1944 YY_BREAK
1945case 64:
1946YY_RULE_SETUP
1947#line 259 "scan.l"
1948use_stdout = option_sense;
1949 YY_BREAK
1950case 65:
1951YY_RULE_SETUP
1952#line 260 "scan.l"
1953ACTION_IFDEF("YY_NO_UNPUT", ! option_sense);
1954 YY_BREAK
1955case 66:
1956YY_RULE_SETUP
1957#line 261 "scan.l"
1958printstats = option_sense;
1959 YY_BREAK
1960case 67:
1961YY_RULE_SETUP
1962#line 262 "scan.l"
1963nowarn = ! option_sense;
1964 YY_BREAK
1965case 68:
1966YY_RULE_SETUP
1967#line 263 "scan.l"
1968do_yylineno = option_sense;
1969 YY_BREAK
1970case 69:
1971YY_RULE_SETUP
1972#line 264 "scan.l"
1973yymore_really_used = option_sense;
1974 YY_BREAK
1975case 70:
1976YY_RULE_SETUP
1977#line 265 "scan.l"
1978do_yywrap = option_sense;
1979 YY_BREAK
1980case 71:
1981YY_RULE_SETUP
1982#line 267 "scan.l"
1983ACTION_IFDEF("YY_NO_PUSH_STATE", ! option_sense);
1984 YY_BREAK
1985case 72:
1986YY_RULE_SETUP
1987#line 268 "scan.l"
1988ACTION_IFDEF("YY_NO_POP_STATE", ! option_sense);
1989 YY_BREAK
1990case 73:
1991YY_RULE_SETUP
1992#line 269 "scan.l"
1993ACTION_IFDEF("YY_NO_TOP_STATE", ! option_sense);
1994 YY_BREAK
1995case 74:
1996YY_RULE_SETUP
1997#line 271 "scan.l"
1998ACTION_IFDEF("YY_NO_SCAN_BUFFER", ! option_sense);
1999 YY_BREAK
2000case 75:
2001YY_RULE_SETUP
2002#line 272 "scan.l"
2003ACTION_IFDEF("YY_NO_SCAN_BYTES", ! option_sense);
2004 YY_BREAK
2005case 76:
2006YY_RULE_SETUP
2007#line 273 "scan.l"
2008ACTION_IFDEF("YY_NO_SCAN_STRING", ! option_sense);
2009 YY_BREAK
2010case 77:
2011YY_RULE_SETUP
2012#line 275 "scan.l"
2013return OPT_OUTFILE;
2014 YY_BREAK
2015case 78:
2016YY_RULE_SETUP
2017#line 276 "scan.l"
2018return OPT_PREFIX;
2019 YY_BREAK
2020case 79:
2021YY_RULE_SETUP
2022#line 277 "scan.l"
2023return OPT_YYCLASS;
2024 YY_BREAK
2025case 80:
2026YY_RULE_SETUP
2027#line 279 "scan.l"
2028{
2029 strcpy( nmstr, yytext + 1 );
2030 nmstr[strlen( nmstr ) - 1] = '\0';
2031 return NAME;
2032 }
2033 YY_BREAK
2034case 81:
2035YY_RULE_SETUP
2036#line 285 "scan.l"
2037{
2038 format_synerr( _( "unrecognized %%option: %s" ),
2039 yytext );
2040 BEGIN(RECOVER);
2041 }
2042 YY_BREAK
2043
2044case 82:
2045YY_RULE_SETUP
2046#line 292 "scan.l"
2047++linenum; BEGIN(INITIAL);
2048 YY_BREAK
2049
2050case 83:
2051YY_RULE_SETUP
2052#line 296 "scan.l"
2053++bracelevel; yyless( 2 ); /* eat only %{ */
2054 YY_BREAK
2055case 84:
2056YY_RULE_SETUP
2057#line 297 "scan.l"
2058--bracelevel; yyless( 2 ); /* eat only %} */
2059 YY_BREAK
2060case 85:
2061YY_RULE_SETUP
2062#line 299 "scan.l"
2063ACTION_ECHO; /* indented code in prolog */
2064 YY_BREAK
2065case 86:
2066YY_RULE_SETUP
2067#line 301 "scan.l"
2068{ /* non-indented code */
2069 if ( bracelevel <= 0 )
2070 { /* not in %{ ... %} */
2071 yyless( 0 ); /* put it all back */
2072 yy_set_bol( 1 );
2073 mark_prolog();
2074 BEGIN(SECT2);
2075 }
2076 else
2077 ACTION_ECHO;
2078 }
2079 YY_BREAK
2080case 87:
2081YY_RULE_SETUP
2082#line 313 "scan.l"
2083ACTION_ECHO;
2084 YY_BREAK
2085case 88:
2086YY_RULE_SETUP
2087#line 314 "scan.l"
2088++linenum; ACTION_ECHO;
2089 YY_BREAK
2090case YY_STATE_EOF(SECT2PROLOG):
2091#line 316 "scan.l"
2092{
2093 mark_prolog();
2094 sectnum = 0;
2095 yyterminate(); /* to stop the parser */
2096 }
2097 YY_BREAK
2098
2099
2100case 89:
2101YY_RULE_SETUP
2102#line 324 "scan.l"
2103++linenum; /* allow blank lines in section 2 */
2104 YY_BREAK
2105case 90:
2106YY_RULE_SETUP
2107#line 326 "scan.l"
2108{
2109 indented_code = false;
2110 doing_codeblock = true;
2111 bracelevel = 1;
2112 BEGIN(PERCENT_BRACE_ACTION);
2113 }
2114 YY_BREAK
2115case 91:
2116YY_RULE_SETUP
2117#line 333 "scan.l"
2118BEGIN(SC); return '<';
2119 YY_BREAK
2120case 92:
2121YY_RULE_SETUP
2122#line 334 "scan.l"
2123return '^';
2124 YY_BREAK
2125case 93:
2126YY_RULE_SETUP
2127#line 335 "scan.l"
2128BEGIN(QUOTE); return '"';
2129 YY_BREAK
2130case 94:
2131*yy_cp = yy_hold_char; /* undo effects of setting up yytext */
2132yy_c_buf_p = yy_cp = yy_bp + 1;
2133YY_DO_BEFORE_ACTION; /* set up yytext again */
2134YY_RULE_SETUP
2135#line 336 "scan.l"
2136BEGIN(NUM); return '{';
2137 YY_BREAK
2138case 95:
2139*yy_cp = yy_hold_char; /* undo effects of setting up yytext */
2140yy_c_buf_p = yy_cp = yy_bp + 1;
2141YY_DO_BEFORE_ACTION; /* set up yytext again */
2142YY_RULE_SETUP
2143#line 337 "scan.l"
2144return '$';
2145 YY_BREAK
2146case 96:
2147YY_RULE_SETUP
2148#line 339 "scan.l"
2149{
2150 bracelevel = 1;
2151 BEGIN(PERCENT_BRACE_ACTION);
2152
2153 if ( in_rule )
2154 {
2155 doing_rule_action = true;
2156 in_rule = false;
2157 return '\n';
2158 }
2159 }
2160 YY_BREAK
2161case 97:
2162YY_RULE_SETUP
2163#line 350 "scan.l"
2164continued_action = true; ++linenum; return '\n';
2165 YY_BREAK
2166case 98:
2167YY_RULE_SETUP
2168#line 352 "scan.l"
2169{
2170 yyless( yyleng - 2 ); /* put back '/', '*' */
2171 bracelevel = 0;
2172 continued_action = false;
2173 BEGIN(ACTION);
2174 }
2175 YY_BREAK
2176case 99:
2177YY_RULE_SETUP
2178#line 359 "scan.l"
2179/* allow indented rules */
2180 YY_BREAK
2181case 100:
2182YY_RULE_SETUP
2183#line 361 "scan.l"
2184{
2185 /* This rule is separate from the one below because
2186 * otherwise we get variable trailing context, so
2187 * we can't build the scanner using -{f,F}.
2188 */
2189 bracelevel = 0;
2190 continued_action = false;
2191 BEGIN(ACTION);
2192
2193 if ( in_rule )
2194 {
2195 doing_rule_action = true;
2196 in_rule = false;
2197 return '\n';
2198 }
2199 }
2200 YY_BREAK
2201case 101:
2202YY_RULE_SETUP
2203#line 378 "scan.l"
2204{
2205 bracelevel = 0;
2206 continued_action = false;
2207 BEGIN(ACTION);
2208 unput( '\n' ); /* so <ACTION> sees it */
2209
2210 if ( in_rule )
2211 {
2212 doing_rule_action = true;
2213 in_rule = false;
2214 return '\n';
2215 }
2216 }
2217 YY_BREAK
2218case 102:
2219#line 393 "scan.l"
2220case 103:
2221YY_RULE_SETUP
2222#line 393 "scan.l"
2223return EOF_OP;
2224 YY_BREAK
2225case 104:
2226YY_RULE_SETUP
2227#line 395 "scan.l"
2228{
2229 sectnum = 3;
2230 BEGIN(SECT3);
2231 yyterminate(); /* to stop the parser */
2232 }
2233 YY_BREAK
2234case 105:
2235YY_RULE_SETUP
2236#line 401 "scan.l"
2237{
2238 int cclval;
2239
2240 strcpy( nmstr, yytext );
2241
2242 /* Check to see if we've already encountered this
2243 * ccl.
2244 */
2245 if ( (cclval = ccllookup( (Char *) nmstr )) != 0 )
2246 {
2247 if ( input() != ']' )
2248 synerr( _( "bad character class" ) );
2249
2250 yylval = cclval;
2251 ++cclreuse;
2252 return PREVCCL;
2253 }
2254 else
2255 {
2256 /* We fudge a bit. We know that this ccl will
2257 * soon be numbered as lastccl + 1 by cclinit.
2258 */
2259 cclinstal( (Char *) nmstr, lastccl + 1 );
2260
2261 /* Push back everything but the leading bracket
2262 * so the ccl can be rescanned.
2263 */
2264 yyless( 1 );
2265
2266 BEGIN(FIRSTCCL);
2267 return '[';
2268 }
2269 }
2270 YY_BREAK
2271case 106:
2272YY_RULE_SETUP
2273#line 435 "scan.l"
2274{
6bd457ed 2275 Char *nmdefptr;
984263bc
MD
2276 Char *ndlookup();
2277
2278 strcpy( nmstr, yytext + 1 );
2279 nmstr[yyleng - 2] = '\0'; /* chop trailing brace */
2280
2281 if ( (nmdefptr = ndlookup( nmstr )) == 0 )
2282 format_synerr(
2283 _( "undefined definition {%s}" ),
2284 nmstr );
2285
2286 else
2287 { /* push back name surrounded by ()'s */
2288 int len = strlen( (char *) nmdefptr );
2289
2290 if ( lex_compat || nmdefptr[0] == '^' ||
2291 (len > 0 && nmdefptr[len - 1] == '$') )
2292 { /* don't use ()'s after all */
2293 PUT_BACK_STRING((char *) nmdefptr, 0);
2294
2295 if ( nmdefptr[0] == '^' )
2296 BEGIN(CARETISBOL);
2297 }
2298
2299 else
2300 {
2301 unput(')');
2302 PUT_BACK_STRING((char *) nmdefptr, 0);
2303 unput('(');
2304 }
2305 }
2306 }
2307 YY_BREAK
2308case 107:
2309YY_RULE_SETUP
2310#line 469 "scan.l"
2311return (unsigned char) yytext[0];
2312 YY_BREAK
2313case 108:
2314YY_RULE_SETUP
2315#line 470 "scan.l"
2316RETURNCHAR;
2317 YY_BREAK
2318
2319
2320case 109:
2321YY_RULE_SETUP
2322#line 475 "scan.l"
2323return (unsigned char) yytext[0];
2324 YY_BREAK
2325case 110:
2326YY_RULE_SETUP
2327#line 476 "scan.l"
2328BEGIN(SECT2); return '>';
2329 YY_BREAK
2330case 111:
2331*yy_cp = yy_hold_char; /* undo effects of setting up yytext */
2332yy_c_buf_p = yy_cp = yy_bp + 1;
2333YY_DO_BEFORE_ACTION; /* set up yytext again */
2334YY_RULE_SETUP
2335#line 477 "scan.l"
2336BEGIN(CARETISBOL); return '>';
2337 YY_BREAK
2338case 112:
2339YY_RULE_SETUP
2340#line 478 "scan.l"
2341RETURNNAME;
2342 YY_BREAK
2343case 113:
2344YY_RULE_SETUP
2345#line 479 "scan.l"
2346{
2347 format_synerr( _( "bad <start condition>: %s" ),
2348 yytext );
2349 }
2350 YY_BREAK
2351
2352case 114:
2353YY_RULE_SETUP
2354#line 485 "scan.l"
2355BEGIN(SECT2); return '^';
2356 YY_BREAK
2357
2358case 115:
2359YY_RULE_SETUP
2360#line 489 "scan.l"
2361RETURNCHAR;
2362 YY_BREAK
2363case 116:
2364YY_RULE_SETUP
2365#line 490 "scan.l"
2366BEGIN(SECT2); return '"';
2367 YY_BREAK
2368case 117:
2369YY_RULE_SETUP
2370#line 492 "scan.l"
2371{
2372 synerr( _( "missing quote" ) );
2373 BEGIN(SECT2);
2374 ++linenum;
2375 return '"';
2376 }
2377 YY_BREAK
2378
2379
2380case 118:
2381*yy_cp = yy_hold_char; /* undo effects of setting up yytext */
2382yy_c_buf_p = yy_cp = yy_bp + 1;
2383YY_DO_BEFORE_ACTION; /* set up yytext again */
2384YY_RULE_SETUP
2385#line 502 "scan.l"
2386BEGIN(CCL); return '^';
2387 YY_BREAK
2388case 119:
2389*yy_cp = yy_hold_char; /* undo effects of setting up yytext */
2390yy_c_buf_p = yy_cp = yy_bp + 1;
2391YY_DO_BEFORE_ACTION; /* set up yytext again */
2392YY_RULE_SETUP
2393#line 503 "scan.l"
2394return '^';
2395 YY_BREAK
2396case 120:
2397YY_RULE_SETUP
2398#line 504 "scan.l"
2399BEGIN(CCL); RETURNCHAR;
2400 YY_BREAK
2401
2402
2403case 121:
2404*yy_cp = yy_hold_char; /* undo effects of setting up yytext */
2405yy_c_buf_p = yy_cp = yy_bp + 1;
2406YY_DO_BEFORE_ACTION; /* set up yytext again */
2407YY_RULE_SETUP
2408#line 508 "scan.l"
2409return '-';
2410 YY_BREAK
2411case 122:
2412YY_RULE_SETUP
2413#line 509 "scan.l"
2414RETURNCHAR;
2415 YY_BREAK
2416case 123:
2417YY_RULE_SETUP
2418#line 510 "scan.l"
2419BEGIN(SECT2); return ']';
2420 YY_BREAK
2421case 124:
2422YY_RULE_SETUP
2423#line 511 "scan.l"
2424{
2425 synerr( _( "bad character class" ) );
2426 BEGIN(SECT2);
2427 return ']';
2428 }
2429 YY_BREAK
2430
2431
2432case 125:
2433YY_RULE_SETUP
2434#line 519 "scan.l"
2435BEGIN(CCL); return CCE_ALNUM;
2436 YY_BREAK
2437case 126:
2438YY_RULE_SETUP
2439#line 520 "scan.l"
2440BEGIN(CCL); return CCE_ALPHA;
2441 YY_BREAK
2442case 127:
2443YY_RULE_SETUP
2444#line 521 "scan.l"
2445BEGIN(CCL); return CCE_BLANK;
2446 YY_BREAK
2447case 128:
2448YY_RULE_SETUP
2449#line 522 "scan.l"
2450BEGIN(CCL); return CCE_CNTRL;
2451 YY_BREAK
2452case 129:
2453YY_RULE_SETUP
2454#line 523 "scan.l"
2455BEGIN(CCL); return CCE_DIGIT;
2456 YY_BREAK
2457case 130:
2458YY_RULE_SETUP
2459#line 524 "scan.l"
2460BEGIN(CCL); return CCE_GRAPH;
2461 YY_BREAK
2462case 131:
2463YY_RULE_SETUP
2464#line 525 "scan.l"
2465BEGIN(CCL); return CCE_LOWER;
2466 YY_BREAK
2467case 132:
2468YY_RULE_SETUP
2469#line 526 "scan.l"
2470BEGIN(CCL); return CCE_PRINT;
2471 YY_BREAK
2472case 133:
2473YY_RULE_SETUP
2474#line 527 "scan.l"
2475BEGIN(CCL); return CCE_PUNCT;
2476 YY_BREAK
2477case 134:
2478YY_RULE_SETUP
2479#line 528 "scan.l"
2480BEGIN(CCL); return CCE_SPACE;
2481 YY_BREAK
2482case 135:
2483YY_RULE_SETUP
2484#line 529 "scan.l"
2485BEGIN(CCL); return CCE_UPPER;
2486 YY_BREAK
2487case 136:
2488YY_RULE_SETUP
2489#line 530 "scan.l"
2490BEGIN(CCL); return CCE_XDIGIT;
2491 YY_BREAK
2492case 137:
2493YY_RULE_SETUP
2494#line 531 "scan.l"
2495{
2496 format_synerr(
2497 _( "bad character class expression: %s" ),
2498 yytext );
2499 BEGIN(CCL); return CCE_ALNUM;
2500 }
2501 YY_BREAK
2502
2503
2504case 138:
2505YY_RULE_SETUP
2506#line 540 "scan.l"
2507{
2508 yylval = myctoi( yytext );
2509 return NUMBER;
2510 }
2511 YY_BREAK
2512case 139:
2513YY_RULE_SETUP
2514#line 545 "scan.l"
2515return ',';
2516 YY_BREAK
2517case 140:
2518YY_RULE_SETUP
2519#line 546 "scan.l"
2520BEGIN(SECT2); return '}';
2521 YY_BREAK
2522case 141:
2523YY_RULE_SETUP
2524#line 548 "scan.l"
2525{
2526 synerr( _( "bad character inside {}'s" ) );
2527 BEGIN(SECT2);
2528 return '}';
2529 }
2530 YY_BREAK
2531case 142:
2532YY_RULE_SETUP
2533#line 554 "scan.l"
2534{
2535 synerr( _( "missing }" ) );
2536 BEGIN(SECT2);
2537 ++linenum;
2538 return '}';
2539 }
2540 YY_BREAK
2541
2542
2543case 143:
2544YY_RULE_SETUP
2545#line 564 "scan.l"
2546bracelevel = 0;
2547 YY_BREAK
2548case 144:
2549YY_RULE_SETUP
2550#line 566 "scan.l"
2551ACTION_ECHO; yy_push_state( COMMENT );
2552 YY_BREAK
2553
2554case 145:
2555YY_RULE_SETUP
2556#line 569 "scan.l"
2557{
2558 ACTION_ECHO;
2559 CHECK_REJECT(yytext);
2560 }
2561 YY_BREAK
2562case 146:
2563YY_RULE_SETUP
2564#line 573 "scan.l"
2565{
2566 ACTION_ECHO;
2567 CHECK_YYMORE(yytext);
2568 }
2569 YY_BREAK
2570
2571case 147:
2572YY_RULE_SETUP
2573#line 579 "scan.l"
2574ACTION_ECHO;
2575 YY_BREAK
2576case 148:
2577YY_RULE_SETUP
2578#line 580 "scan.l"
2579{
2580 ++linenum;
2581 ACTION_ECHO;
2582 if ( bracelevel == 0 ||
2583 (doing_codeblock && indented_code) )
2584 {
2585 if ( doing_rule_action )
2586 add_action( "\tYY_BREAK\n" );
2587
2588 doing_rule_action = doing_codeblock = false;
2589 BEGIN(SECT2);
2590 }
2591 }
2592 YY_BREAK
2593
2594/* Reject and YYmore() are checked for above, in PERCENT_BRACE_ACTION */
2595
2596case 149:
2597YY_RULE_SETUP
2598#line 598 "scan.l"
2599ACTION_ECHO; ++bracelevel;
2600 YY_BREAK
2601case 150:
2602YY_RULE_SETUP
2603#line 599 "scan.l"
2604ACTION_ECHO; --bracelevel;
2605 YY_BREAK
2606case 151:
2607YY_RULE_SETUP
2608#line 600 "scan.l"
2609ACTION_ECHO;
2610 YY_BREAK
2611case 152:
2612YY_RULE_SETUP
2613#line 601 "scan.l"
2614ACTION_ECHO;
2615 YY_BREAK
2616case 153:
2617YY_RULE_SETUP
2618#line 602 "scan.l"
2619ACTION_ECHO; /* character constant */
2620 YY_BREAK
2621case 154:
2622YY_RULE_SETUP
2623#line 603 "scan.l"
2624ACTION_ECHO; BEGIN(ACTION_STRING);
2625 YY_BREAK
2626case 155:
2627YY_RULE_SETUP
2628#line 604 "scan.l"
2629{
2630 ++linenum;
2631 ACTION_ECHO;
2632 if ( bracelevel == 0 )
2633 {
2634 if ( doing_rule_action )
2635 add_action( "\tYY_BREAK\n" );
2636
2637 doing_rule_action = false;
2638 BEGIN(SECT2);
2639 }
2640 }
2641 YY_BREAK
2642case 156:
2643YY_RULE_SETUP
2644#line 616 "scan.l"
2645ACTION_ECHO;
2646 YY_BREAK
2647
2648
2649case 157:
2650YY_RULE_SETUP
2651#line 620 "scan.l"
2652ACTION_ECHO;
2653 YY_BREAK
2654case 158:
2655YY_RULE_SETUP
2656#line 621 "scan.l"
2657ACTION_ECHO;
2658 YY_BREAK
2659case 159:
2660YY_RULE_SETUP
2661#line 622 "scan.l"
2662++linenum; ACTION_ECHO;
2663 YY_BREAK
2664case 160:
2665YY_RULE_SETUP
2666#line 623 "scan.l"
2667ACTION_ECHO; BEGIN(ACTION);
2668 YY_BREAK
2669case 161:
2670YY_RULE_SETUP
2671#line 624 "scan.l"
2672ACTION_ECHO;
2673 YY_BREAK
2674
2675case YY_STATE_EOF(COMMENT):
2676case YY_STATE_EOF(ACTION):
2677case YY_STATE_EOF(ACTION_STRING):
2678#line 627 "scan.l"
2679{
2680 synerr( _( "EOF encountered inside an action" ) );
2681 yyterminate();
2682 }
2683 YY_BREAK
2684case 162:
2685YY_RULE_SETUP
2686#line 633 "scan.l"
2687{
2688 yylval = myesc( (Char *) yytext );
2689
2690 if ( YY_START == FIRSTCCL )
2691 BEGIN(CCL);
2692
2693 return CHAR;
2694 }
2695 YY_BREAK
2696
2697case 163:
2698YY_RULE_SETUP
2699#line 644 "scan.l"
2700ECHO;
2701 YY_BREAK
2702case YY_STATE_EOF(SECT3):
2703#line 645 "scan.l"
2704sectnum = 0; yyterminate();
2705 YY_BREAK
2706
2707case 164:
2708YY_RULE_SETUP
2709#line 648 "scan.l"
2710format_synerr( _( "bad character: %s" ), yytext );
2711 YY_BREAK
2712case 165:
2713YY_RULE_SETUP
2714#line 650 "scan.l"
2715YY_FATAL_ERROR( "flex scanner jammed" );
2716 YY_BREAK
2717#line 2736 "scan.c"
2718case YY_STATE_EOF(INITIAL):
2719case YY_STATE_EOF(SECT2):
2720case YY_STATE_EOF(CODEBLOCK):
2721case YY_STATE_EOF(PICKUPDEF):
2722case YY_STATE_EOF(SC):
2723case YY_STATE_EOF(CARETISBOL):
2724case YY_STATE_EOF(NUM):
2725case YY_STATE_EOF(QUOTE):
2726case YY_STATE_EOF(FIRSTCCL):
2727case YY_STATE_EOF(CCL):
2728case YY_STATE_EOF(RECOVER):
2729case YY_STATE_EOF(PERCENT_BRACE_ACTION):
2730case YY_STATE_EOF(OPTION):
2731case YY_STATE_EOF(LINEDIR):
2732 yyterminate();
2733
2734 case YY_END_OF_BUFFER:
2735 {
2736 /* Amount of text matched not including the EOB char. */
2737 int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1;
2738
2739 /* Undo the effects of YY_DO_BEFORE_ACTION. */
2740 *yy_cp = yy_hold_char;
2741 YY_RESTORE_YY_MORE_OFFSET
2742
2743 if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW )
2744 {
2745 /* We're scanning a new file or input source. It's
2746 * possible that this happened because the user
2747 * just pointed yyin at a new source and called
2748 * yylex(). If so, then we have to assure
2749 * consistency between yy_current_buffer and our
2750 * globals. Here is the right place to do so, because
2751 * this is the first action (other than possibly a
2752 * back-up) that will match for the new input source.
2753 */
2754 yy_n_chars = yy_current_buffer->yy_n_chars;
2755 yy_current_buffer->yy_input_file = yyin;
2756 yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL;
2757 }
2758
2759 /* Note that here we test for yy_c_buf_p "<=" to the position
2760 * of the first EOB in the buffer, since yy_c_buf_p will
2761 * already have been incremented past the NUL character
2762 * (since all states make transitions on EOB to the
2763 * end-of-buffer state). Contrast this with the test
2764 * in input().
2765 */
2766 if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
2767 { /* This was really a NUL. */
2768 yy_state_type yy_next_state;
2769
2770 yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text;
2771
2772 yy_current_state = yy_get_previous_state();
2773
2774 /* Okay, we're now positioned to make the NUL
2775 * transition. We couldn't have
2776 * yy_get_previous_state() go ahead and do it
2777 * for us because it doesn't know how to deal
2778 * with the possibility of jamming (and we don't
2779 * want to build jamming into it because then it
2780 * will run more slowly).
2781 */
2782
2783 yy_next_state = yy_try_NUL_trans( yy_current_state );
2784
2785 yy_bp = yytext_ptr + YY_MORE_ADJ;
2786
2787 if ( yy_next_state )
2788 {
2789 /* Consume the NUL. */
2790 yy_cp = ++yy_c_buf_p;
2791 yy_current_state = yy_next_state;
2792 goto yy_match;
2793 }
2794
2795 else
2796 {
2797 yy_cp = yy_c_buf_p;
2798 goto yy_find_action;
2799 }
2800 }
2801
2802 else switch ( yy_get_next_buffer() )
2803 {
2804 case EOB_ACT_END_OF_FILE:
2805 {
2806 yy_did_buffer_switch_on_eof = 0;
2807
2808 if ( yywrap() )
2809 {
2810 /* Note: because we've taken care in
2811 * yy_get_next_buffer() to have set up
2812 * yytext, we can now set up
2813 * yy_c_buf_p so that if some total
2814 * hoser (like flex itself) wants to
2815 * call the scanner after we return the
2816 * YY_NULL, it'll still work - another
2817 * YY_NULL will get returned.
2818 */
2819 yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;
2820
2821 yy_act = YY_STATE_EOF(YY_START);
2822 goto do_action;
2823 }
2824
2825 else
2826 {
2827 if ( ! yy_did_buffer_switch_on_eof )
2828 YY_NEW_FILE;
2829 }
2830 break;
2831 }
2832
2833 case EOB_ACT_CONTINUE_SCAN:
2834 yy_c_buf_p =
2835 yytext_ptr + yy_amount_of_matched_text;
2836
2837 yy_current_state = yy_get_previous_state();
2838
2839 yy_cp = yy_c_buf_p;
2840 yy_bp = yytext_ptr + YY_MORE_ADJ;
2841 goto yy_match;
2842
2843 case EOB_ACT_LAST_MATCH:
2844 yy_c_buf_p =
2845 &yy_current_buffer->yy_ch_buf[yy_n_chars];
2846
2847 yy_current_state = yy_get_previous_state();
2848
2849 yy_cp = yy_c_buf_p;
2850 yy_bp = yytext_ptr + YY_MORE_ADJ;
2851 goto yy_find_action;
2852 }
2853 break;
2854 }
2855
2856 default:
2857 YY_FATAL_ERROR(
2858 "fatal flex scanner internal error--no action found" );
2859 } /* end of action switch */
2860 } /* end of scanning one token */
2861 } /* end of yylex */
2862
2863
2864/* yy_get_next_buffer - try to read in a new buffer
2865 *
2866 * Returns a code representing an action:
2867 * EOB_ACT_LAST_MATCH -
2868 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
2869 * EOB_ACT_END_OF_FILE - end of file
2870 */
2871
2872static int yy_get_next_buffer()
2873 {
6bd457ed
DR
2874 char *dest = yy_current_buffer->yy_ch_buf;
2875 char *source = yytext_ptr;
2876 int number_to_move, i;
984263bc
MD
2877 int ret_val;
2878
2879 if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
2880 YY_FATAL_ERROR(
2881 "fatal flex scanner internal error--end of buffer missed" );
2882
2883 if ( yy_current_buffer->yy_fill_buffer == 0 )
2884 { /* Don't try to fill the buffer, so this is an EOF. */
2885 if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 )
2886 {
2887 /* We matched a single character, the EOB, so
2888 * treat this as a final EOF.
2889 */
2890 return EOB_ACT_END_OF_FILE;
2891 }
2892
2893 else
2894 {
2895 /* We matched some text prior to the EOB, first
2896 * process it.
2897 */
2898 return EOB_ACT_LAST_MATCH;
2899 }
2900 }
2901
2902 /* Try to read more data. */
2903
2904 /* First move last chars to start of buffer. */
2905 number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1;
2906
2907 for ( i = 0; i < number_to_move; ++i )
2908 *(dest++) = *(source++);
2909
2910 if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING )
2911 /* don't do the read, it's not guaranteed to return an EOF,
2912 * just force an EOF
2913 */
2914 yy_current_buffer->yy_n_chars = yy_n_chars = 0;
2915
2916 else
2917 {
2918 int num_to_read =
2919 yy_current_buffer->yy_buf_size - number_to_move - 1;
2920
2921 while ( num_to_read <= 0 )
2922 { /* Not enough room in the buffer - grow it. */
2923#ifdef YY_USES_REJECT
2924 YY_FATAL_ERROR(
2925"input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
2926#else
2927
2928 /* just a shorter name for the current buffer */
2929 YY_BUFFER_STATE b = yy_current_buffer;
2930
2931 int yy_c_buf_p_offset =
2932 (int) (yy_c_buf_p - b->yy_ch_buf);
2933
2934 if ( b->yy_is_our_buffer )
2935 {
2936 int new_size = b->yy_buf_size * 2;
2937
2938 if ( new_size <= 0 )
2939 b->yy_buf_size += b->yy_buf_size / 8;
2940 else
2941 b->yy_buf_size *= 2;
2942
2943 b->yy_ch_buf = (char *)
2944 /* Include room in for 2 EOB chars. */
4e1af74f 2945 yy_flex_realloc( b->yy_ch_buf,
984263bc
MD
2946 b->yy_buf_size + 2 );
2947 }
2948 else
2949 /* Can't grow it, we don't own it. */
678e8cc6 2950 b->yy_ch_buf = NULL;
984263bc
MD
2951
2952 if ( ! b->yy_ch_buf )
2953 YY_FATAL_ERROR(
2954 "fatal error - scanner input buffer overflow" );
2955
2956 yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
2957
2958 num_to_read = yy_current_buffer->yy_buf_size -
2959 number_to_move - 1;
2960#endif
2961 }
2962
2963 if ( num_to_read > YY_READ_BUF_SIZE )
2964 num_to_read = YY_READ_BUF_SIZE;
2965
2966 /* Read in more data. */
2967 YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
2968 yy_n_chars, num_to_read );
2969
2970 yy_current_buffer->yy_n_chars = yy_n_chars;
2971 }
2972
2973 if ( yy_n_chars == 0 )
2974 {
2975 if ( number_to_move == YY_MORE_ADJ )
2976 {
2977 ret_val = EOB_ACT_END_OF_FILE;
2978 yyrestart( yyin );
2979 }
2980
2981 else
2982 {
2983 ret_val = EOB_ACT_LAST_MATCH;
2984 yy_current_buffer->yy_buffer_status =
2985 YY_BUFFER_EOF_PENDING;
2986 }
2987 }
2988
2989 else
2990 ret_val = EOB_ACT_CONTINUE_SCAN;
2991
2992 yy_n_chars += number_to_move;
2993 yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
2994 yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
2995
2996 yytext_ptr = &yy_current_buffer->yy_ch_buf[0];
2997
2998 return ret_val;
2999 }
3000
3001
3002/* yy_get_previous_state - get the state just before the EOB char was reached */
3003
3004static yy_state_type yy_get_previous_state()
3005 {
6bd457ed
DR
3006 yy_state_type yy_current_state;
3007 char *yy_cp;
984263bc
MD
3008
3009 yy_current_state = yy_start;
3010 yy_current_state += YY_AT_BOL();
3011
3012 for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
3013 {
6bd457ed 3014 YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
984263bc
MD
3015 if ( yy_accept[yy_current_state] )
3016 {
3017 yy_last_accepting_state = yy_current_state;
3018 yy_last_accepting_cpos = yy_cp;
3019 }
3020 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3021 {
3022 yy_current_state = (int) yy_def[yy_current_state];
3023 if ( yy_current_state >= 769 )
3024 yy_c = yy_meta[(unsigned int) yy_c];
3025 }
3026 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
3027 }
3028
3029 return yy_current_state;
3030 }
3031
3032
3033/* yy_try_NUL_trans - try to make a transition on the NUL character
3034 *
3035 * synopsis
3036 * next_state = yy_try_NUL_trans( current_state );
3037 */
3038
3039#ifdef YY_USE_PROTOS
3040static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state )
3041#else
3042static yy_state_type yy_try_NUL_trans( yy_current_state )
3043yy_state_type yy_current_state;
3044#endif
3045 {
6bd457ed
DR
3046 int yy_is_jam;
3047 char *yy_cp = yy_c_buf_p;
984263bc 3048
6bd457ed 3049 YY_CHAR yy_c = 1;
984263bc
MD
3050 if ( yy_accept[yy_current_state] )
3051 {
3052 yy_last_accepting_state = yy_current_state;
3053 yy_last_accepting_cpos = yy_cp;
3054 }
3055 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3056 {
3057 yy_current_state = (int) yy_def[yy_current_state];
3058 if ( yy_current_state >= 769 )
3059 yy_c = yy_meta[(unsigned int) yy_c];
3060 }
3061 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
3062 yy_is_jam = (yy_current_state == 768);
3063
3064 return yy_is_jam ? 0 : yy_current_state;
3065 }
3066
3067
3068#ifndef YY_NO_UNPUT
3069#ifdef YY_USE_PROTOS
6bd457ed 3070static void yyunput( int c, char *yy_bp )
984263bc
MD
3071#else
3072static void yyunput( c, yy_bp )
3073int c;
6bd457ed 3074char *yy_bp;
984263bc
MD
3075#endif
3076 {
6bd457ed 3077 char *yy_cp = yy_c_buf_p;
984263bc
MD
3078
3079 /* undo effects of setting up yytext */
3080 *yy_cp = yy_hold_char;
3081
3082 if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
3083 { /* need to shift things up to make room */
3084 /* +2 for EOB chars. */
6bd457ed
DR
3085 int number_to_move = yy_n_chars + 2;
3086 char *dest = &yy_current_buffer->yy_ch_buf[
984263bc 3087 yy_current_buffer->yy_buf_size + 2];
6bd457ed 3088 char *source =
984263bc
MD
3089 &yy_current_buffer->yy_ch_buf[number_to_move];
3090
3091 while ( source > yy_current_buffer->yy_ch_buf )
3092 *--dest = *--source;
3093
3094 yy_cp += (int) (dest - source);
3095 yy_bp += (int) (dest - source);
3096 yy_current_buffer->yy_n_chars =
3097 yy_n_chars = yy_current_buffer->yy_buf_size;
3098
3099 if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
3100 YY_FATAL_ERROR( "flex scanner push-back overflow" );
3101 }
3102
3103 *--yy_cp = (char) c;
3104
3105
3106 yytext_ptr = yy_bp;
3107 yy_hold_char = *yy_cp;
3108 yy_c_buf_p = yy_cp;
3109 }
3110#endif /* ifndef YY_NO_UNPUT */
3111
3112
3113#ifdef __cplusplus
3114static int yyinput()
3115#else
3116static int input()
3117#endif
3118 {
3119 int c;
3120
3121 *yy_c_buf_p = yy_hold_char;
3122
3123 if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
3124 {
3125 /* yy_c_buf_p now points to the character we want to return.
3126 * If this occurs *before* the EOB characters, then it's a
3127 * valid NUL; if not, then we've hit the end of the buffer.
3128 */
3129 if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
3130 /* This was really a NUL. */
3131 *yy_c_buf_p = '\0';
3132
3133 else
3134 { /* need more input */
3135 int offset = yy_c_buf_p - yytext_ptr;
3136 ++yy_c_buf_p;
3137
3138 switch ( yy_get_next_buffer() )
3139 {
3140 case EOB_ACT_LAST_MATCH:
3141 /* This happens because yy_g_n_b()
3142 * sees that we've accumulated a
3143 * token and flags that we need to
3144 * try matching the token before
3145 * proceeding. But for input(),
3146 * there's no matching to consider.
3147 * So convert the EOB_ACT_LAST_MATCH
3148 * to EOB_ACT_END_OF_FILE.
3149 */
3150
3151 /* Reset buffer status. */
3152 yyrestart( yyin );
3153
3154 /* fall through */
3155
3156 case EOB_ACT_END_OF_FILE:
3157 {
3158 if ( yywrap() )
3159 return EOF;
3160
3161 if ( ! yy_did_buffer_switch_on_eof )
3162 YY_NEW_FILE;
3163#ifdef __cplusplus
3164 return yyinput();
3165#else
3166 return input();
3167#endif
3168 }
3169
3170 case EOB_ACT_CONTINUE_SCAN:
3171 yy_c_buf_p = yytext_ptr + offset;
3172 break;
3173 }
3174 }
3175 }
3176
3177 c = *(unsigned char *) yy_c_buf_p; /* cast for 8-bit char's */
3178 *yy_c_buf_p = '\0'; /* preserve yytext */
3179 yy_hold_char = *++yy_c_buf_p;
3180
3181 yy_current_buffer->yy_at_bol = (c == '\n');
3182
3183 return c;
3184 }
3185
3186
3187#ifdef YY_USE_PROTOS
3188void yyrestart( FILE *input_file )
3189#else
3190void yyrestart( input_file )
3191FILE *input_file;
3192#endif
3193 {
3194 if ( ! yy_current_buffer )
3195 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );
3196
3197 yy_init_buffer( yy_current_buffer, input_file );
3198 yy_load_buffer_state();
3199 }
3200
3201
3202#ifdef YY_USE_PROTOS
3203void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
3204#else
3205void yy_switch_to_buffer( new_buffer )
3206YY_BUFFER_STATE new_buffer;
3207#endif
3208 {
3209 if ( yy_current_buffer == new_buffer )
3210 return;
3211
3212 if ( yy_current_buffer )
3213 {
3214 /* Flush out information for old buffer. */
3215 *yy_c_buf_p = yy_hold_char;
3216 yy_current_buffer->yy_buf_pos = yy_c_buf_p;
3217 yy_current_buffer->yy_n_chars = yy_n_chars;
3218 }
3219
3220 yy_current_buffer = new_buffer;
3221 yy_load_buffer_state();
3222
3223 /* We don't actually know whether we did this switch during
3224 * EOF (yywrap()) processing, but the only time this flag
3225 * is looked at is after yywrap() is called, so it's safe
3226 * to go ahead and always set it.
3227 */
3228 yy_did_buffer_switch_on_eof = 1;
3229 }
3230
3231
3232#ifdef YY_USE_PROTOS
3233void yy_load_buffer_state( void )
3234#else
3235void yy_load_buffer_state()
3236#endif
3237 {
3238 yy_n_chars = yy_current_buffer->yy_n_chars;
3239 yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
3240 yyin = yy_current_buffer->yy_input_file;
3241 yy_hold_char = *yy_c_buf_p;
3242 }
3243
3244
3245#ifdef YY_USE_PROTOS
3246YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
3247#else
3248YY_BUFFER_STATE yy_create_buffer( file, size )
3249FILE *file;
3250int size;
3251#endif
3252 {
3253 YY_BUFFER_STATE b;
3254
3255 b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
3256 if ( ! b )
3257 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
3258
3259 b->yy_buf_size = size;
3260
3261 /* yy_ch_buf has to be 2 characters longer than the size given because
3262 * we need to put in 2 end-of-buffer characters.
3263 */
3264 b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 );
3265 if ( ! b->yy_ch_buf )
3266 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
3267
3268 b->yy_is_our_buffer = 1;
3269
3270 yy_init_buffer( b, file );
3271
3272 return b;
3273 }
3274
3275
3276#ifdef YY_USE_PROTOS
3277void yy_delete_buffer( YY_BUFFER_STATE b )
3278#else
3279void yy_delete_buffer( b )
3280YY_BUFFER_STATE b;
3281#endif
3282 {
3283 if ( ! b )
3284 return;
3285
3286 if ( b == yy_current_buffer )
3287 yy_current_buffer = (YY_BUFFER_STATE) 0;
3288
3289 if ( b->yy_is_our_buffer )
4e1af74f 3290 yy_flex_free( b->yy_ch_buf );
984263bc 3291
4e1af74f 3292 yy_flex_free( b );
984263bc
MD
3293 }
3294
3295
3296#ifndef YY_ALWAYS_INTERACTIVE
3297#ifndef YY_NEVER_INTERACTIVE
3298extern int isatty YY_PROTO(( int ));
3299#endif
3300#endif
3301
3302#ifdef YY_USE_PROTOS
3303void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
3304#else
3305void yy_init_buffer( b, file )
3306YY_BUFFER_STATE b;
3307FILE *file;
3308#endif
3309
3310
3311 {
3312 yy_flush_buffer( b );
3313
3314 b->yy_input_file = file;
3315 b->yy_fill_buffer = 1;
3316
3317#if YY_ALWAYS_INTERACTIVE
3318 b->yy_is_interactive = 1;
3319#else
3320#if YY_NEVER_INTERACTIVE
3321 b->yy_is_interactive = 0;
3322#else
3323 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
3324#endif
3325#endif
3326 }
3327
3328
3329#ifdef YY_USE_PROTOS
3330void yy_flush_buffer( YY_BUFFER_STATE b )
3331#else
3332void yy_flush_buffer( b )
3333YY_BUFFER_STATE b;
3334#endif
3335
3336 {
3337 if ( ! b )
3338 return;
3339
3340 b->yy_n_chars = 0;
3341
3342 /* We always need two end-of-buffer characters. The first causes
3343 * a transition to the end-of-buffer state. The second causes
3344 * a jam in that state.
3345 */
3346 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
3347 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
3348
3349 b->yy_buf_pos = &b->yy_ch_buf[0];
3350
3351 b->yy_at_bol = 1;
3352 b->yy_buffer_status = YY_BUFFER_NEW;
3353
3354 if ( b == yy_current_buffer )
3355 yy_load_buffer_state();
3356 }
3357
3358
3359#ifndef YY_NO_SCAN_BUFFER
3360#ifdef YY_USE_PROTOS
3361YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size )
3362#else
3363YY_BUFFER_STATE yy_scan_buffer( base, size )
3364char *base;
3365yy_size_t size;
3366#endif
3367 {
3368 YY_BUFFER_STATE b;
3369
3370 if ( size < 2 ||
3371 base[size-2] != YY_END_OF_BUFFER_CHAR ||
3372 base[size-1] != YY_END_OF_BUFFER_CHAR )
3373 /* They forgot to leave room for the EOB's. */
3374 return 0;
3375
3376 b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
3377 if ( ! b )
3378 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
3379
3380 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
3381 b->yy_buf_pos = b->yy_ch_buf = base;
3382 b->yy_is_our_buffer = 0;
678e8cc6 3383 b->yy_input_file = NULL;
984263bc
MD
3384 b->yy_n_chars = b->yy_buf_size;
3385 b->yy_is_interactive = 0;
3386 b->yy_at_bol = 1;
3387 b->yy_fill_buffer = 0;
3388 b->yy_buffer_status = YY_BUFFER_NEW;
3389
3390 yy_switch_to_buffer( b );
3391
3392 return b;
3393 }
3394#endif
3395
3396
3397#ifndef YY_NO_SCAN_STRING
3398#ifdef YY_USE_PROTOS
3399YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str )
3400#else
3401YY_BUFFER_STATE yy_scan_string( yy_str )
3402yyconst char *yy_str;
3403#endif
3404 {
3405 int len;
3406 for ( len = 0; yy_str[len]; ++len )
3407 ;
3408
3409 return yy_scan_bytes( yy_str, len );
3410 }
3411#endif
3412
3413
3414#ifndef YY_NO_SCAN_BYTES
3415#ifdef YY_USE_PROTOS
3416YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len )
3417#else
3418YY_BUFFER_STATE yy_scan_bytes( bytes, len )
3419yyconst char *bytes;
3420int len;
3421#endif
3422 {
3423 YY_BUFFER_STATE b;
3424 char *buf;
3425 yy_size_t n;
3426 int i;
3427
3428 /* Get memory for full buffer, including space for trailing EOB's. */
3429 n = len + 2;
3430 buf = (char *) yy_flex_alloc( n );
3431 if ( ! buf )
3432 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
3433
3434 for ( i = 0; i < len; ++i )
3435 buf[i] = bytes[i];
3436
3437 buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;
3438
3439 b = yy_scan_buffer( buf, n );
3440 if ( ! b )
3441 YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
3442
3443 /* It's okay to grow etc. this buffer, and we should throw it
3444 * away when we're done.
3445 */
3446 b->yy_is_our_buffer = 1;
3447
3448 return b;
3449 }
3450#endif
3451
3452
3453#ifndef YY_NO_PUSH_STATE
3454#ifdef YY_USE_PROTOS
3455static void yy_push_state( int new_state )
3456#else
3457static void yy_push_state( new_state )
3458int new_state;
3459#endif
3460 {
3461 if ( yy_start_stack_ptr >= yy_start_stack_depth )
3462 {
3463 yy_size_t new_size;
3464
3465 yy_start_stack_depth += YY_START_STACK_INCR;
3466 new_size = yy_start_stack_depth * sizeof( int );
3467
3468 if ( ! yy_start_stack )
3469 yy_start_stack = (int *) yy_flex_alloc( new_size );
3470
3471 else
3472 yy_start_stack = (int *) yy_flex_realloc(
4e1af74f 3473 yy_start_stack, new_size );
984263bc
MD
3474
3475 if ( ! yy_start_stack )
3476 YY_FATAL_ERROR(
3477 "out of memory expanding start-condition stack" );
3478 }
3479
3480 yy_start_stack[yy_start_stack_ptr++] = YY_START;
3481
3482 BEGIN(new_state);
3483 }
3484#endif
3485
3486
3487#ifndef YY_NO_POP_STATE
3488static void yy_pop_state()
3489 {
3490 if ( --yy_start_stack_ptr < 0 )
3491 YY_FATAL_ERROR( "start-condition stack underflow" );
3492
3493 BEGIN(yy_start_stack[yy_start_stack_ptr]);
3494 }
3495#endif
3496
3497
3498#ifndef YY_NO_TOP_STATE
3499static int yy_top_state()
3500 {
3501 return yy_start_stack[yy_start_stack_ptr - 1];
3502 }
3503#endif
3504
3505#ifndef YY_EXIT_FAILURE
3506#define YY_EXIT_FAILURE 2
3507#endif
3508
3509#ifdef YY_USE_PROTOS
3510static void yy_fatal_error( yyconst char msg[] )
3511#else
3512static void yy_fatal_error( msg )
3513char msg[];
3514#endif
3515 {
3516 (void) fprintf( stderr, "%s\n", msg );
3517 exit( YY_EXIT_FAILURE );
3518 }
3519
3520
3521
3522/* Redefine yyless() so it works in section 3 code. */
3523
3524#undef yyless
3525#define yyless(n) \
3526 do \
3527 { \
3528 /* Undo effects of setting up yytext. */ \
3529 yytext[yyleng] = yy_hold_char; \
3530 yy_c_buf_p = yytext + n; \
3531 yy_hold_char = *yy_c_buf_p; \
3532 *yy_c_buf_p = '\0'; \
3533 yyleng = n; \
3534 } \
3535 while ( 0 )
3536
3537
3538/* Internal utility routines. */
3539
3540#ifndef yytext_ptr
3541#ifdef YY_USE_PROTOS
3542static void yy_flex_strncpy( char *s1, yyconst char *s2, int n )
3543#else
3544static void yy_flex_strncpy( s1, s2, n )
3545char *s1;
3546yyconst char *s2;
3547int n;
3548#endif
3549 {
6bd457ed 3550 int i;
984263bc
MD
3551 for ( i = 0; i < n; ++i )
3552 s1[i] = s2[i];
3553 }
3554#endif
3555
3556#ifdef YY_NEED_STRLEN
3557#ifdef YY_USE_PROTOS
3558static int yy_flex_strlen( yyconst char *s )
3559#else
3560static int yy_flex_strlen( s )
3561yyconst char *s;
3562#endif
3563 {
6bd457ed 3564 int n;
984263bc
MD
3565 for ( n = 0; s[n]; ++n )
3566 ;
3567
3568 return n;
3569 }
3570#endif
3571
3572
3573#ifdef YY_USE_PROTOS
3574static void *yy_flex_alloc( yy_size_t size )
3575#else
3576static void *yy_flex_alloc( size )
3577yy_size_t size;
3578#endif
3579 {
3580 return (void *) malloc( size );
3581 }
3582
3583#ifdef YY_USE_PROTOS
3584static void *yy_flex_realloc( void *ptr, yy_size_t size )
3585#else
3586static void *yy_flex_realloc( ptr, size )
3587void *ptr;
3588yy_size_t size;
3589#endif
3590 {
3591 /* The cast to (char *) in the following accommodates both
3592 * implementations that use char* generic pointers, and those
3593 * that use void* generic pointers. It works with the latter
3594 * because both ANSI C and C++ allow castless assignment from
3595 * any pointer type to void*, and deal with argument conversions
3596 * as though doing an assignment.
3597 */
3598 return (void *) realloc( (char *) ptr, size );
3599 }
3600
3601#ifdef YY_USE_PROTOS
3602static void yy_flex_free( void *ptr )
3603#else
3604static void yy_flex_free( ptr )
3605void *ptr;
3606#endif
3607 {
3608 free( ptr );
3609 }
3610
3611#if YY_MAIN
3612int main()
3613 {
3614 yylex();
3615 return 0;
3616 }
3617#endif
3618#line 650 "scan.l"
3619
3620
3621
1d1731fa 3622int yywrap(void)
984263bc
MD
3623 {
3624 if ( --num_input_files > 0 )
3625 {
3626 set_input_file( *++input_files );
3627 return 0;
3628 }
3629
3630 else
3631 return 1;
3632 }
3633
3634
3635/* set_input_file - open the given file (if NULL, stdin) for scanning */
3636
1d1731fa 3637void set_input_file(char *file)
984263bc
MD
3638 {
3639 if ( file && strcmp( file, "-" ) )
3640 {
3641 infilename = copy_string( file );
3642 yyin = fopen( infilename, "r" );
3643
3644 if ( yyin == NULL )
3645 lerrsf( _( "can't open %s" ), file );
3646 }
3647
3648 else
3649 {
3650 yyin = stdin;
3651 infilename = copy_string( "<stdin>" );
3652 }
3653
3654 linenum = 1;
3655 }
3656
3657
3658/* Wrapper routines for accessing the scanner's malloc routines. */
3659
1d1731fa 3660void *flex_alloc(size_t size)
984263bc
MD
3661 {
3662 return (void *) malloc( size );
3663 }
3664
1d1731fa 3665void *flex_realloc(void *ptr, size_t size)
984263bc
MD
3666 {
3667 return (void *) realloc( ptr, size );
3668 }
3669
1d1731fa 3670void flex_free(void *ptr)
984263bc
MD
3671 {
3672 if ( ptr )
3673 free( ptr );
3674 }