Home | History | Annotate | Download | only in flex-2.5.4a
      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 	}
   3698