OSDN Git Service

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