Home | History | Annotate | Line # | Download | only in config
bfin-lex.c revision 1.1.1.3
      1 
      2 #line 2 "config/bfin-lex.c"
      3 
      4 #define  YY_INT_ALIGNED short int
      5 
      6 /* A lexical scanner generated by flex */
      7 
      8 #define FLEX_SCANNER
      9 #define YY_FLEX_MAJOR_VERSION 2
     10 #define YY_FLEX_MINOR_VERSION 6
     11 #define YY_FLEX_SUBMINOR_VERSION 4
     12 #if YY_FLEX_SUBMINOR_VERSION > 0
     13 #define FLEX_BETA
     14 #endif
     15 
     16 /* First, we deal with  platform-specific or compiler-specific issues. */
     17 
     18 /* begin standard C headers. */
     19 #include <stdio.h>
     20 #include <string.h>
     21 #include <errno.h>
     22 #include <stdlib.h>
     23 
     24 /* end standard C headers. */
     25 
     26 /* flex integer type definitions */
     27 
     28 #ifndef FLEXINT_H
     29 #define FLEXINT_H
     30 
     31 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
     32 
     33 #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
     34 
     35 /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
     36  * if you want the limit (max/min) macros for int types.
     37  */
     38 #ifndef __STDC_LIMIT_MACROS
     39 #define __STDC_LIMIT_MACROS 1
     40 #endif
     41 
     42 #include <inttypes.h>
     43 typedef int8_t flex_int8_t;
     44 typedef uint8_t flex_uint8_t;
     45 typedef int16_t flex_int16_t;
     46 typedef uint16_t flex_uint16_t;
     47 typedef int32_t flex_int32_t;
     48 typedef uint32_t flex_uint32_t;
     49 #else
     50 typedef signed char flex_int8_t;
     51 typedef short int flex_int16_t;
     52 typedef int flex_int32_t;
     53 typedef unsigned char flex_uint8_t;
     54 typedef unsigned short int flex_uint16_t;
     55 typedef unsigned int flex_uint32_t;
     56 
     57 /* Limits of integral types. */
     58 #ifndef INT8_MIN
     59 #define INT8_MIN               (-128)
     60 #endif
     61 #ifndef INT16_MIN
     62 #define INT16_MIN              (-32767-1)
     63 #endif
     64 #ifndef INT32_MIN
     65 #define INT32_MIN              (-2147483647-1)
     66 #endif
     67 #ifndef INT8_MAX
     68 #define INT8_MAX               (127)
     69 #endif
     70 #ifndef INT16_MAX
     71 #define INT16_MAX              (32767)
     72 #endif
     73 #ifndef INT32_MAX
     74 #define INT32_MAX              (2147483647)
     75 #endif
     76 #ifndef UINT8_MAX
     77 #define UINT8_MAX              (255U)
     78 #endif
     79 #ifndef UINT16_MAX
     80 #define UINT16_MAX             (65535U)
     81 #endif
     82 #ifndef UINT32_MAX
     83 #define UINT32_MAX             (4294967295U)
     84 #endif
     85 
     86 #ifndef SIZE_MAX
     87 #define SIZE_MAX               (~(size_t)0)
     88 #endif
     89 
     90 #endif /* ! C99 */
     91 
     92 #endif /* ! FLEXINT_H */
     93 
     94 /* begin standard C++ headers. */
     95 
     96 /* TODO: this is always defined, so inline it */
     97 #define yyconst const
     98 
     99 #if defined(__GNUC__) && __GNUC__ >= 3
    100 #define yynoreturn __attribute__((__noreturn__))
    101 #else
    102 #define yynoreturn
    103 #endif
    104 
    105 /* Returned upon end-of-file. */
    106 #define YY_NULL 0
    107 
    108 /* Promotes a possibly negative, possibly signed char to an
    109  *   integer in range [0..255] for use as an array index.
    110  */
    111 #define YY_SC_TO_UI(c) ((YY_CHAR) (c))
    112 
    113 /* Enter a start condition.  This macro really ought to take a parameter,
    114  * but we do it the disgusting crufty way forced on us by the ()-less
    115  * definition of BEGIN.
    116  */
    117 #define BEGIN (yy_start) = 1 + 2 *
    118 /* Translate the current start state into a value that can be later handed
    119  * to BEGIN to return to the state.  The YYSTATE alias is for lex
    120  * compatibility.
    121  */
    122 #define YY_START (((yy_start) - 1) / 2)
    123 #define YYSTATE YY_START
    124 /* Action number for EOF rule of a given start state. */
    125 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
    126 /* Special action meaning "start processing a new file". */
    127 #define YY_NEW_FILE yyrestart( yyin  )
    128 #define YY_END_OF_BUFFER_CHAR 0
    129 
    130 /* Size of default input buffer. */
    131 #ifndef YY_BUF_SIZE
    132 #ifdef __ia64__
    133 /* On IA-64, the buffer size is 16k, not 8k.
    134  * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
    135  * Ditto for the __ia64__ case accordingly.
    136  */
    137 #define YY_BUF_SIZE 32768
    138 #else
    139 #define YY_BUF_SIZE 16384
    140 #endif /* __ia64__ */
    141 #endif
    142 
    143 /* The state buf must be large enough to hold one state per character in the main buffer.
    144  */
    145 #define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
    146 
    147 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
    148 #define YY_TYPEDEF_YY_BUFFER_STATE
    149 typedef struct yy_buffer_state *YY_BUFFER_STATE;
    150 #endif
    151 
    152 #ifndef YY_TYPEDEF_YY_SIZE_T
    153 #define YY_TYPEDEF_YY_SIZE_T
    154 typedef size_t yy_size_t;
    155 #endif
    156 
    157 extern int yyleng;
    158 
    159 extern FILE *yyin, *yyout;
    160 
    161 #define EOB_ACT_CONTINUE_SCAN 0
    162 #define EOB_ACT_END_OF_FILE 1
    163 #define EOB_ACT_LAST_MATCH 2
    164 
    165     #define YY_LESS_LINENO(n)
    166     #define YY_LINENO_REWIND_TO(ptr)
    167 
    168 /* Return all but the first "n" matched characters back to the input stream. */
    169 #define yyless(n) \
    170 	do \
    171 		{ \
    172 		/* Undo effects of setting up yytext. */ \
    173         int yyless_macro_arg = (n); \
    174         YY_LESS_LINENO(yyless_macro_arg);\
    175 		*yy_cp = (yy_hold_char); \
    176 		YY_RESTORE_YY_MORE_OFFSET \
    177 		(yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
    178 		YY_DO_BEFORE_ACTION; /* set up yytext again */ \
    179 		} \
    180 	while ( 0 )
    181 #define unput(c) yyunput( c, (yytext_ptr)  )
    182 
    183 #ifndef YY_STRUCT_YY_BUFFER_STATE
    184 #define YY_STRUCT_YY_BUFFER_STATE
    185 struct yy_buffer_state
    186 	{
    187 	FILE *yy_input_file;
    188 
    189 	char *yy_ch_buf;		/* input buffer */
    190 	char *yy_buf_pos;		/* current position in input buffer */
    191 
    192 	/* Size of input buffer in bytes, not including room for EOB
    193 	 * characters.
    194 	 */
    195 	int yy_buf_size;
    196 
    197 	/* Number of characters read into yy_ch_buf, not including EOB
    198 	 * characters.
    199 	 */
    200 	int yy_n_chars;
    201 
    202 	/* Whether we "own" the buffer - i.e., we know we created it,
    203 	 * and can realloc() it to grow it, and should free() it to
    204 	 * delete it.
    205 	 */
    206 	int yy_is_our_buffer;
    207 
    208 	/* Whether this is an "interactive" input source; if so, and
    209 	 * if we're using stdio for input, then we want to use getc()
    210 	 * instead of fread(), to make sure we stop fetching input after
    211 	 * each newline.
    212 	 */
    213 	int yy_is_interactive;
    214 
    215 	/* Whether we're considered to be at the beginning of a line.
    216 	 * If so, '^' rules will be active on the next match, otherwise
    217 	 * not.
    218 	 */
    219 	int yy_at_bol;
    220 
    221     int yy_bs_lineno; /**< The line count. */
    222     int yy_bs_column; /**< The column count. */
    223 
    224 	/* Whether to try to fill the input buffer when we reach the
    225 	 * end of it.
    226 	 */
    227 	int yy_fill_buffer;
    228 
    229 	int yy_buffer_status;
    230 
    231 #define YY_BUFFER_NEW 0
    232 #define YY_BUFFER_NORMAL 1
    233 	/* When an EOF's been seen but there's still some text to process
    234 	 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
    235 	 * shouldn't try reading from the input source any more.  We might
    236 	 * still have a bunch of tokens to match, though, because of
    237 	 * possible backing-up.
    238 	 *
    239 	 * When we actually see the EOF, we change the status to "new"
    240 	 * (via yyrestart()), so that the user can continue scanning by
    241 	 * just pointing yyin at a new input file.
    242 	 */
    243 #define YY_BUFFER_EOF_PENDING 2
    244 
    245 	};
    246 #endif /* !YY_STRUCT_YY_BUFFER_STATE */
    247 
    248 /* Stack of input buffers. */
    249 static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
    250 static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
    251 static YY_BUFFER_STATE * yy_buffer_stack = NULL; /**< Stack as an array. */
    252 
    253 /* We provide macros for accessing buffer states in case in the
    254  * future we want to put the buffer states in a more general
    255  * "scanner state".
    256  *
    257  * Returns the top of the stack, or NULL.
    258  */
    259 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
    260                           ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
    261                           : NULL)
    262 /* Same as previous macro, but useful when we know that the buffer stack is not
    263  * NULL or when we need an lvalue. For internal use only.
    264  */
    265 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
    266 
    267 /* yy_hold_char holds the character lost when yytext is formed. */
    268 static char yy_hold_char;
    269 static int yy_n_chars;		/* number of characters read into yy_ch_buf */
    270 int yyleng;
    271 
    272 /* Points to current character in buffer. */
    273 static char *yy_c_buf_p = NULL;
    274 static int yy_init = 0;		/* whether we need to initialize */
    275 static int yy_start = 0;	/* start state number */
    276 
    277 /* Flag which is used to allow yywrap()'s to do buffer switches
    278  * instead of setting up a fresh yyin.  A bit of a hack ...
    279  */
    280 static int yy_did_buffer_switch_on_eof;
    281 
    282 void yyrestart ( FILE *input_file  );
    283 void yy_switch_to_buffer ( YY_BUFFER_STATE new_buffer  );
    284 YY_BUFFER_STATE yy_create_buffer ( FILE *file, int size  );
    285 void yy_delete_buffer ( YY_BUFFER_STATE b  );
    286 void yy_flush_buffer ( YY_BUFFER_STATE b  );
    287 void yypush_buffer_state ( YY_BUFFER_STATE new_buffer  );
    288 void yypop_buffer_state ( void );
    289 
    290 static void yyensure_buffer_stack ( void );
    291 static void yy_load_buffer_state ( void );
    292 static void yy_init_buffer ( YY_BUFFER_STATE b, FILE *file  );
    293 #define YY_FLUSH_BUFFER yy_flush_buffer( YY_CURRENT_BUFFER )
    294 
    295 YY_BUFFER_STATE yy_scan_buffer ( char *base, yy_size_t size  );
    296 YY_BUFFER_STATE yy_scan_string ( const char *yy_str  );
    297 YY_BUFFER_STATE yy_scan_bytes ( const char *bytes, int len  );
    298 
    299 void *yyalloc ( yy_size_t  );
    300 void *yyrealloc ( void *, yy_size_t  );
    301 void yyfree ( void *  );
    302 
    303 #define yy_new_buffer yy_create_buffer
    304 #define yy_set_interactive(is_interactive) \
    305 	{ \
    306 	if ( ! YY_CURRENT_BUFFER ){ \
    307         yyensure_buffer_stack (); \
    308 		YY_CURRENT_BUFFER_LVALUE =    \
    309             yy_create_buffer( yyin, YY_BUF_SIZE ); \
    310 	} \
    311 	YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
    312 	}
    313 #define yy_set_bol(at_bol) \
    314 	{ \
    315 	if ( ! YY_CURRENT_BUFFER ){\
    316         yyensure_buffer_stack (); \
    317 		YY_CURRENT_BUFFER_LVALUE =    \
    318             yy_create_buffer( yyin, YY_BUF_SIZE ); \
    319 	} \
    320 	YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
    321 	}
    322 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
    323 
    324 /* Begin user sect3 */
    325 
    326 #define yywrap() (/*CONSTCOND*/1)
    327 #define YY_SKIP_YYWRAP
    328 typedef flex_uint8_t YY_CHAR;
    329 
    330 FILE *yyin = NULL, *yyout = NULL;
    331 
    332 typedef int yy_state_type;
    333 
    334 extern int yylineno;
    335 int yylineno = 1;
    336 
    337 extern char *yytext;
    338 #ifdef yytext_ptr
    339 #undef yytext_ptr
    340 #endif
    341 #define yytext_ptr yytext
    342 
    343 static yy_state_type yy_get_previous_state ( void );
    344 static yy_state_type yy_try_NUL_trans ( yy_state_type current_state  );
    345 static int yy_get_next_buffer ( void );
    346 static void yynoreturn yy_fatal_error ( const char* msg  );
    347 
    348 /* Done after the current pattern has been matched and before the
    349  * corresponding action - sets up yytext.
    350  */
    351 #define YY_DO_BEFORE_ACTION \
    352 	(yytext_ptr) = yy_bp; \
    353 	yyleng = (int) (yy_cp - yy_bp); \
    354 	(yy_hold_char) = *yy_cp; \
    355 	*yy_cp = '\0'; \
    356 	(yy_c_buf_p) = yy_cp;
    357 #define YY_NUM_RULES 238
    358 #define YY_END_OF_BUFFER 239
    359 /* This struct is not used in this scanner,
    360    but its presence is necessary. */
    361 struct yy_trans_info
    362 	{
    363 	flex_int32_t yy_verify;
    364 	flex_int32_t yy_nxt;
    365 	};
    366 static const flex_int16_t yy_accept[570] =
    367     {   0,
    368         0,    0,    0,    0,    0,    0,  239,  237,  235,  235,
    369       221,  233,  220,  219,  201,  202,  217,  215,  212,  211,
    370       204,  232,  232,  203,  222,  200,  196,  237,  224,  233,
    371       147,  233,  233,  233,  233,  233,  233,  233,  233,  233,
    372       233,  233,  233,  233,   54,  233,  233,  233,   12,   10,
    373       190,  189,  188,  186,  184,  233,  233,  233,  233,  233,
    374        70,   19,   18,    8,    7,  233,  218,  216,  214,  213,
    375         0,  210,  205,    0,    0,    0,  232,  234,    0,  199,
    376       197,  195,  194,  179,  176,  233,  233,  233,  149,  152,
    377       233,  233,  148,    0,  146,  233,  139,  233,  233,  135,
    378 
    379       233,  125,  233,  123,  233,  233,  233,  233,  233,  233,
    380       233,  103,  102,  101,  233,  100,   99,  233,  233,   97,
    381       233,   95,   94,   93,   91,  233,   85,  233,  233,   77,
    382        86,  233,   71,   69,  233,  233,  233,  233,   65,  233,
    383       233,  233,   59,  233,   56,  233,  233,   53,  233,  233,
    384       233,  233,  233,  233,  233,  233,  233,  233,  233,  233,
    385        25,  233,  233,  233,  233,  233,   15,   14,  233,  233,
    386       159,  233,  233,  187,  185,  223,  233,  233,   95,  233,
    387       233,  233,  206,  208,  207,  209,    0,    0,  232,  232,
    388       198,  192,  193,  233,  233,  233,  172,  153,  154,  233,
    389 
    390       233,  163,  164,  233,  155,  157,  232,  233,  233,  233,
    391       233,  233,  233,  124,  233,  233,  119,  233,  233,  233,
    392       233,  233,  233,  233,  233,  233,  180,   98,  233,  233,
    393       233,  233,  233,  233,   80,   83,   78,   81,  233,  233,
    394       233,   79,   82,  233,   67,   66,  233,   63,   62,  233,
    395       233,  233,  233,  233,  233,  233,  233,  233,  233,   44,
    396        39,   38,   37,   36,   35,   34,  233,   32,   31,  233,
    397       233,  233,  233,  233,  233,  233,   21,  233,  233,   16,
    398        13,  233,  233,    9,  233,  233,  233,  233,  233,  233,
    399       236,  191,  171,  169,  178,  177,  170,  168,  175,  174,
    400 
    401       233,  233,  233,  233,  233,  156,  158,  145,  233,  233,
    402       233,  233,  138,  137,  233,  127,  233,  233,  118,  233,
    403       233,  233,  233,  111,  110,  233,  233,  233,  233,  233,
    404       233,  233,  105,  104,  233,  233,  233,   96,  233,   92,
    405        89,   84,   74,  233,  233,   68,   64,  233,   61,   60,
    406        58,   57,  233,   55,   45,  233,   50,   47,   49,   46,
    407        48,  233,  233,   43,   42,  233,  233,  233,  233,  233,
    408       233,   27,   24,   23,  233,  233,  233,  233,  233,  233,
    409       228,  233,  227,  233,  233,  173,  233,  233,  233,  161,
    410       233,  233,  233,  233,  233,  233,  233,  233,  233,  233,
    411 
    412       122,  233,  117,  116,  233,  233,  233,  233,  233,  233,
    413       233,  233,  108,  233,  233,  233,  233,  233,  233,  233,
    414       233,  233,  233,    2,  183,   52,   41,   40,  233,   33,
    415       233,  233,  233,   30,  233,   22,  233,  233,  233,  233,
    416       231,  233,  233,  233,  233,  233,  233,  165,  162,  144,
    417       143,  142,  141,  140,  233,  233,  233,  233,  126,  121,
    418       233,  233,  233,  233,  233,   51,  233,  233,  107,  233,
    419       233,  233,  233,  233,   88,   87,   90,  233,  233,   73,
    420        72,  233,   29,  233,  233,  233,   20,  233,  233,  151,
    421       233,  229,  233,  226,  233,  166,  167,  233,  233,  233,
    422 
    423       233,  233,  233,  120,  233,  114,  113,  233,  233,  233,
    424         5,  106,  233,  181,  233,  233,  233,  233,  160,   28,
    425       233,  233,   17,   11,  233,  233,  150,  233,  233,  134,
    426       133,  132,  129,  233,  115,  233,    6,  109,  233,  233,
    427         3,  233,   76,    1,   26,  230,  225,  136,  130,  131,
    428       233,  233,  233,  233,  233,  128,  233,  233,    4,   75,
    429       233,  233,  112,  233,  233,  233,  233,  182,    0
    430     } ;
    431 
    432 static const YY_CHAR yy_ec[256] =
    433     {   0,
    434         1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
    435         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
    436         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
    437         1,    2,    4,    1,    5,    6,    7,    8,    1,    9,
    438        10,   11,   12,   13,   14,   15,   16,   17,   18,   19,
    439        20,   21,   22,   23,   24,   25,   26,   27,   28,   29,
    440        30,   31,    1,   32,   33,   34,   35,   36,   37,   38,
    441        39,   40,   41,   42,   43,   44,   45,   46,   47,   48,
    442        49,   50,   51,   52,   53,   54,   55,   56,   57,   58,
    443        59,    1,   60,   61,   62,    1,   33,   34,   35,   36,
    444 
    445        37,   38,   39,   40,   41,   42,   43,   44,   45,   46,
    446        47,   48,   49,   50,   51,   52,   53,   54,   55,   56,
    447        57,   58,    1,   63,    1,   64,    1,    6,    6,    6,
    448         6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
    449         6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
    450         6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
    451         6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
    452         6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
    453         6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
    454         6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
    455 
    456         6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
    457         6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
    458         6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
    459         6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
    460         6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
    461         6,    6,    6,    6,    6
    462     } ;
    463 
    464 static const YY_CHAR yy_meta[65] =
    465     {   0,
    466         1,    1,    2,    1,    1,    3,    1,    1,    1,    1,
    467         1,    1,    1,    1,    4,    1,    5,    5,    5,    5,
    468         5,    5,    5,    5,    5,    5,    1,    1,    1,    1,
    469         1,    1,    6,    7,    6,    6,    6,    7,    3,    3,
    470         3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
    471         3,    3,    3,    3,    3,    4,    3,    3,    1,    1,
    472         1,    3,    1,    1
    473     } ;
    474 
    475 static const flex_int16_t yy_base[576] =
    476     {   0,
    477         0,    0,   27,   28,   32,   40,  665,  666,  666,  666,
    478       666,    0,  666,  634,  666,  666,  633,   67,  666,   56,
    479       651,   67,   72,  666,  666,   44,  631,  629,  666,  114,
    480       168,   60,   84,   22,   89,   62,   95,  126,  606,  209,
    481       134,   61,  136,  245,  279,  313,   89,  607,   62,  637,
    482       666,  666,  626,   72,  666,  150,   84,  614,  604,  110,
    483       173,    0,  164,    0,    0,    0,  666,  666,  666,  666,
    484       126,  666,  666,  145,  642,    0,  136,  666,    0,  622,
    485       666,  666,   85,  636,  635,  148,  166,  608,    0,    0,
    486       171,  179,    0,    0,  633,  595,    0,  609,  598,  592,
    487 
    488       599,    0,  601,    0,  584,  605,  600,  590,  156,  584,
    489       165,  621,  589,    0,  582,    0,    0,  581,  595,  616,
    490       586,    0,    0,  578,    0,  583,  612,  213,  215,    0,
    491       579,  197,  218,  610,  568,  577,  575,  190,    0,  574,
    492       583,  567,  603,  582,    0,  564,  569,  599,  572,  560,
    493       575,  558,  231,  559,  575,  560,  206,  554,  564,  565,
    494       588,  545,  560,  549,  548,  545,    0,    0,  549,  544,
    495         0,  560,  575,  666,  666,  666,  540,  548,  547,  544,
    496       132,  545,  666,  666,  666,  666,  577,  160,    0,    0,
    497       666,  666,  557,  214,  235,  536,    0,  523,    0,  545,
    498 
    499       542,    0,    0,  549,  530,  529,    0,  201,  241,  525,
    500       528,  540,  532,    0,  529,  530,  217,  526,  539,  171,
    501       212,  226,  538,  520,  241,  534,  550,    0,  517,  244,
    502       529,  546,  516,  264,    0,    0,    0,    0,  515,  510,
    503       520,    0,    0,  265,    0,    0,  512,    0,    0,  523,
    504       507,  522,  266,  513,  507,  502,  273,  502,  277,  301,
    505         0,    0,    0,    0,    0,    0,  506,    0,    0,  501,
    506       499,  499,  510,  501,  271,  500,    0,  510,  492,    0,
    507         0,  481,  495,    0,  490,  503,  486,  495,  499,  495,
    508       524,  666,    0,    0,    0,    0,    0,    0,    0,    0,
    509 
    510       482,  498,  486,  493,  478,    0,    0,    0,  485,  475,
    511       490,  232,    0,  475,  274,  510,  489,  486,  290,  477,
    512       488,  469,  475,    0,    0,  485,  484,  460,  462,  462,
    513       477,  479,    0,    0,  475,  486,  459,    0,  446,    0,
    514       492,    0,  444,  452,  466,    0,    0,  466,    0,    0,
    515         0,    0,  467,    0,    0,  464,    0,    0,    0,    0,
    516         0,  481,  482,    0,    0,  453,  461,  461,  443,  457,
    517       441,  458,    0,    0,  456,  452,  438,  443,  439,  446,
    518       423,  433,    0,  446,  436,    0,  434,  317,  428,    0,
    519       429,  422,  425,  432,  423,  434,  425,  439,  425,  414,
    520 
    521         0,  418,    0,    0,  420,  423,  425,  426,  411,  411,
    522       427,  410,    0,  418,  424,  421,  412,  421,  405,  293,
    523       306,  406,  401,    0,    0,    0,    0,    0,  405,    0,
    524       411,  417,  398,    0,  407,    0,  408,  409,  412,  387,
    525       402,  402,  389,  397,  391,  415,  416,    0,    0,    0,
    526         0,    0,    0,    0,  395,  337,  400,  386,    0,  414,
    527       388,  379,  378,  383,  377,    0,  379,  389,    0,  373,
    528       373,  402,  389,  384,    0,    0,    0,  383,  373,    0,
    529         0,  382,    0,  365,  379,  363,    0,  362,  357,    0,
    530       366,    0,  376,    0,  353,    0,    0,  371,  324,  360,
    531 
    532       359,  363,  372,    0,  348,    0,    0,  366,  365,  349,
    533         0,    0,  365,    0,  346,  349,  358,  360,    0,    0,
    534       343,  332,    0,    0,  326,  331,    0,  317,  314,    0,
    535         0,    0,    0,  333,    0,  311,    0,    0,  304,  309,
    536         0,  317,    0,    0,    0,    0,    0,    0,    0,    0,
    537       309,  304,  299,  292,  278,    0,  246,  226,    0,    0,
    538       201,  199,    0,  222,  188,  160,  126,    0,  666,  370,
    539       374,  381,  129,  384,  387
    540     } ;
    541 
    542 static const flex_int16_t yy_def[576] =
    543     {   0,
    544       569,    1,    1,    1,    1,    1,  569,  569,  569,  569,
    545       569,  570,  569,  569,  569,  569,  569,  569,  569,  569,
    546       569,  571,  571,  569,  569,  569,  569,  569,  569,  570,
    547       570,  570,  570,  570,  570,  570,  570,  570,  570,  570,
    548       570,  570,  570,  570,  570,  570,  570,  570,  570,  570,
    549       569,  569,  569,  569,  569,  570,   38,   40,   44,  570,
    550       570,   46,  570,  570,  570,  570,  569,  569,  569,  569,
    551       569,  569,  569,  569,  572,  573,   23,  569,  574,  569,
    552       569,  569,  569,  570,  570,  570,  570,  570,  570,  570,
    553       570,  570,  570,  575,  570,  570,  570,  570,  570,  570,
    554 
    555       570,  570,  570,  570,  570,  570,  570,  570,  570,  570,
    556       570,  570,  570,  570,  570,  570,  570,  570,  570,  570,
    557       570,  570,  570,  570,  570,  570,  570,  570,  570,  570,
    558       570,  570,  570,  570,  570,  570,  570,  570,  570,  570,
    559       570,  570,  570,  570,  570,  570,  570,  570,  570,  570,
    560       570,  570,  570,  570,  570,  570,  570,  570,  570,  570,
    561       570,  570,  570,  570,  570,  570,  570,  570,  570,  570,
    562       570,  570,  570,  569,  569,  569,  570,  570,  570,  570,
    563       570,  570,  569,  569,  569,  569,  572,  572,  573,  574,
    564       569,  569,  569,  570,  570,  570,  570,  570,  570,  570,
    565 
    566       570,  570,  570,  570,  570,  570,  575,  570,  570,  570,
    567       570,  570,  570,  570,  570,  570,  570,  570,  570,  570,
    568       570,  570,  570,  570,  570,  570,  570,  570,  570,  570,
    569       570,  570,  570,  570,  570,  570,  570,  570,  570,  570,
    570       570,  570,  570,  570,  570,  570,  570,  570,  570,  570,
    571       570,  570,  570,  570,  570,  570,  570,  570,  570,  570,
    572       570,  570,  570,  570,  570,  570,  570,  570,  570,  570,
    573       570,  570,  570,  570,  570,  570,  570,  570,  570,  570,
    574       570,  570,  570,  570,  570,  570,  570,  570,  570,  570,
    575       572,  569,  570,  570,  570,  570,  570,  570,  570,  570,
    576 
    577       570,  570,  570,  570,  570,  570,  570,  570,  570,  570,
    578       570,  570,  570,  570,  570,  570,  570,  570,  570,  570,
    579       570,  570,  570,  570,  570,  570,  570,  570,  570,  570,
    580       570,  570,  570,  570,  570,  570,  570,  570,  570,  570,
    581       570,  570,  570,  570,  570,  570,  570,  570,  570,  570,
    582       570,  570,  570,  570,  570,  570,  570,  570,  570,  570,
    583       570,  570,  570,  570,  570,  570,  570,  570,  570,  570,
    584       570,  570,  570,  570,  570,  570,  570,  570,  570,  570,
    585       570,  570,  570,  570,  570,  570,  570,  570,  570,  570,
    586       570,  570,  570,  570,  570,  570,  570,  570,  570,  570,
    587 
    588       570,  570,  570,  570,  570,  570,  570,  570,  570,  570,
    589       570,  570,  570,  570,  570,  570,  570,  570,  570,  570,
    590       570,  570,  570,  570,  570,  570,  570,  570,  570,  570,
    591       570,  570,  570,  570,  570,  570,  570,  570,  570,  570,
    592       570,  570,  570,  570,  570,  570,  570,  570,  570,  570,
    593       570,  570,  570,  570,  570,  570,  570,  570,  570,  570,
    594       570,  570,  570,  570,  570,  570,  570,  570,  570,  570,
    595       570,  570,  570,  570,  570,  570,  570,  570,  570,  570,
    596       570,  570,  570,  570,  570,  570,  570,  570,  570,  570,
    597       570,  570,  570,  570,  570,  570,  570,  570,  570,  570,
    598 
    599       570,  570,  570,  570,  570,  570,  570,  570,  570,  570,
    600       570,  570,  570,  570,  570,  570,  570,  570,  570,  570,
    601       570,  570,  570,  570,  570,  570,  570,  570,  570,  570,
    602       570,  570,  570,  570,  570,  570,  570,  570,  570,  570,
    603       570,  570,  570,  570,  570,  570,  570,  570,  570,  570,
    604       570,  570,  570,  570,  570,  570,  570,  570,  570,  570,
    605       570,  570,  570,  570,  570,  570,  570,  570,    0,  569,
    606       569,  569,  569,  569,  569
    607     } ;
    608 
    609 static const flex_int16_t yy_nxt[731] =
    610     {   0,
    611         8,    9,   10,   11,    8,   12,   13,   14,   15,   16,
    612        17,   18,   19,   20,   12,   21,   22,   23,   23,   23,
    613        23,   23,   23,   23,   23,   23,   24,   25,   26,   27,
    614        28,   29,   30,   31,   32,   33,   34,   35,   36,   37,
    615        38,   39,   12,   40,   41,   42,   43,   44,   12,   45,
    616        46,   47,   48,   49,   50,   12,   12,   12,   51,   52,
    617        53,   12,   54,   55,   56,   56,  110,   57,   57,   72,
    618        58,   58,   80,   81,   59,   59,   61,  111,   69,   60,
    619        60,   76,   62,   63,   61,   73,  569,   64,   94,   65,
    620        62,   63,  101,   94,  102,   64,   70,   65,  114,   94,
    621 
    622        78,  175,  170,  103,   78,   78,  104,  138,  115,   78,
    623       105,  139,  171,  116,  192,  193,  106,  107,   74,  178,
    624       108,  179,   79,  172,  109,  165,  166,  569,  167,   71,
    625        84,   85,  168,  189,  176,  117,  112,  183,  118,  184,
    626        94,  113,  120,  120,  120,  120,  568,   86,   87,  119,
    627       134,  134,  134,  134,   94,  182,  185,   88,  186,   89,
    628       169,  121,   90,  122,   91,  123,  135,   92,  289,  569,
    629       188,   93,   94,  569,  136,  291,  124,  256,  125,  137,
    630       140,  141,  198,  199,   95,   95,   95,   95,  142,  134,
    631       134,  134,  134,  177,  196,  205,  206,  112,  197,  222,
    632 
    633       165,  166,  113,  167,  567,  135,  219,  168,   96,  220,
    634       201,  566,  223,  136,  202,   97,  224,   98,  137,  324,
    635       203,  325,  204,   99,  100,  127,  127,  127,  127,  235,
    636       236,  237,  238,  240,  242,  243,  241,  248,  270,  565,
    637       308,  249,  128,  129,  308,  130,  326,  327,  328,  319,
    638       564,  320,  563,  293,  271,  131,  321,  294,  329,  132,
    639       133,  143,  143,  143,  143,  143,  143,  262,  295,  296,
    640       394,  263,  562,  330,  297,  309,  264,  144,  298,  145,
    641       333,  265,  395,  338,  334,  310,  266,  338,  146,  299,
    642       300,  311,  312,  561,  147,  148,  148,  148,  148,  148,
    643 
    644       148,  148,  148,  342,  346,  351,  355,  342,  346,  351,
    645       373,  149,  355,  357,  374,  150,  355,  358,  362,  363,
    646       397,  398,  359,  560,  151,  152,  399,  360,  559,  403,
    647       153,  154,  361,  404,  446,  447,  475,  558,  557,  478,
    648       364,  448,  479,  476,  365,  155,  529,  156,  477,  157,
    649       158,  556,  159,  160,  499,  500,  501,  555,  549,  554,
    650       161,  550,  366,  162,  163,  553,  552,  551,  548,  164,
    651       547,  530,   66,   66,   66,   66,   66,   77,   77,  546,
    652        77,  187,  545,  187,  187,  187,  187,  187,  190,  190,
    653       190,  207,  207,  207,  544,  543,  542,  541,  540,  539,
    654 
    655       538,  537,  536,  535,  534,  533,  532,  531,  528,  527,
    656       526,  525,  524,  523,  522,  521,  520,  519,  518,  517,
    657       516,  515,  514,  513,  512,  511,  510,  509,  508,  507,
    658       506,  505,  504,  503,  502,  498,  497,  496,  495,  494,
    659       493,  492,  491,  490,  489,  488,  487,  486,  485,  484,
    660       483,  482,  481,  480,  474,  473,  472,  471,  470,  469,
    661       468,  467,  466,  465,  464,  463,  462,  461,  460,  459,
    662       458,  457,  456,  455,  454,  453,  452,  451,  450,  449,
    663       445,  444,  443,  442,  419,  441,  440,  439,  438,  437,
    664       436,  435,  434,  433,  432,  431,  430,  429,  428,  427,
    665 
    666       426,  425,  424,  423,  422,  421,  420,  419,  418,  417,
    667       416,  415,  414,  413,  412,  411,  410,  409,  408,  407,
    668       406,  405,  402,  401,  400,  396,  393,  392,  391,  390,
    669       389,  388,  387,  386,  188,  385,  384,  383,  382,  381,
    670       380,  379,  378,  377,  376,  375,  372,  371,  370,  369,
    671       368,  367,  356,  354,  353,  352,  350,  349,  348,  347,
    672       345,  344,  343,  341,  340,  339,  337,  336,  335,  332,
    673       331,  323,  322,  318,  317,  316,  315,  314,  313,  307,
    674       306,  305,  304,  303,  302,  301,  292,  188,  290,  288,
    675       287,  286,  285,  284,  283,  282,  281,  280,  279,  278,
    676 
    677       277,  276,  275,  274,  273,  272,  269,  268,  267,  261,
    678       260,  259,  258,  257,  256,  255,  254,  253,  252,  251,
    679       250,  247,  246,  245,  244,  239,  234,  233,  232,  231,
    680       230,  229,  228,  227,  226,  225,  221,  218,  217,  216,
    681       215,  214,  213,  212,  211,  210,  209,  208,  200,  195,
    682       194,  191,  188,  181,  180,  174,  173,  169,  126,   83,
    683        82,   75,   68,   67,  569,    7,  569,  569,  569,  569,
    684       569,  569,  569,  569,  569,  569,  569,  569,  569,  569,
    685       569,  569,  569,  569,  569,  569,  569,  569,  569,  569,
    686       569,  569,  569,  569,  569,  569,  569,  569,  569,  569,
    687 
    688       569,  569,  569,  569,  569,  569,  569,  569,  569,  569,
    689       569,  569,  569,  569,  569,  569,  569,  569,  569,  569,
    690       569,  569,  569,  569,  569,  569,  569,  569,  569,  569
    691     } ;
    692 
    693 static const flex_int16_t yy_chk[731] =
    694     {   0,
    695         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
    696         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
    697         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
    698         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
    699         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
    700         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
    701         1,    1,    1,    1,    3,    4,   34,    3,    4,   20,
    702         3,    4,   26,   26,    3,    4,    5,   34,   18,    3,
    703         4,   22,    5,    5,    6,   20,   23,    5,   33,    5,
    704         6,    6,   32,   35,   32,    6,   18,    6,   36,   37,
    705 
    706        22,   54,   49,   32,   22,   23,   32,   42,   36,   23,
    707        32,   42,   49,   36,   83,   83,   32,   33,   20,   57,
    708        33,   57,   22,   49,   33,   47,   47,   23,   47,   18,
    709        30,   30,   47,  573,   54,   37,   35,   71,   37,   71,
    710        43,   35,   38,   38,   38,   38,  567,   30,   30,   37,
    711        41,   41,   41,   41,   56,   60,   74,   30,   74,   30,
    712        60,   38,   30,   38,   30,   38,   41,   30,  181,   77,
    713       188,   30,   31,   77,   41,  188,   38,  181,   38,   41,
    714        43,   43,   87,   87,   31,   31,   31,   31,   43,   61,
    715        61,   61,   61,   56,   86,   92,   92,   56,   86,  111,
    716 
    717        63,   63,   56,   63,  566,   61,  109,   63,   31,  109,
    718        91,  565,  111,   61,   91,   31,  111,   31,   61,  220,
    719        91,  220,   91,   31,   31,   40,   40,   40,   40,  128,
    720       128,  129,  129,  132,  133,  133,  132,  138,  157,  564,
    721       208,  138,   40,   40,  208,   40,  221,  221,  221,  217,
    722       562,  217,  561,  194,  157,   40,  217,  194,  222,   40,
    723        40,   44,   44,   44,   44,   44,   44,  153,  194,  194,
    724       312,  153,  558,  222,  195,  209,  153,   44,  195,   44,
    725       225,  153,  312,  230,  225,  209,  153,  230,   44,  195,
    726       195,  209,  209,  557,   44,   45,   45,   45,   45,   45,
    727 
    728        45,   45,   45,  234,  244,  253,  257,  234,  244,  253,
    729       275,   45,  257,  259,  275,   45,  257,  259,  260,  260,
    730       315,  315,  259,  555,   45,   45,  315,  259,  554,  319,
    731        45,   46,  259,  319,  388,  388,  420,  553,  552,  421,
    732       260,  388,  421,  420,  260,   46,  499,   46,  420,   46,
    733        46,  551,   46,   46,  456,  456,  456,  542,  529,  540,
    734        46,  529,  260,   46,   46,  539,  536,  534,  528,   46,
    735       526,  499,  570,  570,  570,  570,  570,  571,  571,  525,
    736       571,  572,  522,  572,  572,  572,  572,  572,  574,  574,
    737       574,  575,  575,  575,  521,  518,  517,  516,  515,  513,
    738 
    739       510,  509,  508,  505,  503,  502,  501,  500,  498,  495,
    740       493,  491,  489,  488,  486,  485,  484,  482,  479,  478,
    741       474,  473,  472,  471,  470,  468,  467,  465,  464,  463,
    742       462,  461,  460,  458,  457,  455,  447,  446,  445,  444,
    743       443,  442,  441,  440,  439,  438,  437,  435,  433,  432,
    744       431,  429,  423,  422,  419,  418,  417,  416,  415,  414,
    745       412,  411,  410,  409,  408,  407,  406,  405,  402,  400,
    746       399,  398,  397,  396,  395,  394,  393,  392,  391,  389,
    747       387,  385,  384,  382,  381,  380,  379,  378,  377,  376,
    748       375,  372,  371,  370,  369,  368,  367,  366,  363,  362,
    749 
    750       356,  353,  348,  345,  344,  343,  341,  339,  337,  336,
    751       335,  332,  331,  330,  329,  328,  327,  326,  323,  322,
    752       321,  320,  318,  317,  316,  314,  311,  310,  309,  305,
    753       304,  303,  302,  301,  291,  290,  289,  288,  287,  286,
    754       285,  283,  282,  279,  278,  276,  274,  273,  272,  271,
    755       270,  267,  258,  256,  255,  254,  252,  251,  250,  247,
    756       241,  240,  239,  233,  232,  231,  229,  227,  226,  224,
    757       223,  219,  218,  216,  215,  213,  212,  211,  210,  206,
    758       205,  204,  201,  200,  198,  196,  193,  187,  182,  180,
    759       179,  178,  177,  173,  172,  170,  169,  166,  165,  164,
    760 
    761       163,  162,  161,  160,  159,  158,  156,  155,  154,  152,
    762       151,  150,  149,  148,  147,  146,  144,  143,  142,  141,
    763       140,  137,  136,  135,  134,  131,  127,  126,  124,  121,
    764       120,  119,  118,  115,  113,  112,  110,  108,  107,  106,
    765       105,  103,  101,  100,   99,   98,   96,   95,   88,   85,
    766        84,   80,   75,   59,   58,   53,   50,   48,   39,   28,
    767        27,   21,   17,   14,    7,  569,  569,  569,  569,  569,
    768       569,  569,  569,  569,  569,  569,  569,  569,  569,  569,
    769       569,  569,  569,  569,  569,  569,  569,  569,  569,  569,
    770       569,  569,  569,  569,  569,  569,  569,  569,  569,  569,
    771 
    772       569,  569,  569,  569,  569,  569,  569,  569,  569,  569,
    773       569,  569,  569,  569,  569,  569,  569,  569,  569,  569,
    774       569,  569,  569,  569,  569,  569,  569,  569,  569,  569
    775     } ;
    776 
    777 static yy_state_type yy_last_accepting_state;
    778 static char *yy_last_accepting_cpos;
    779 
    780 extern int yy_flex_debug;
    781 int yy_flex_debug = 0;
    782 
    783 /* The intent behind this definition is that it'll catch
    784  * any uses of REJECT which flex missed.
    785  */
    786 #define REJECT reject_used_but_not_detected
    787 #define yymore() yymore_used_but_not_detected
    788 #define YY_MORE_ADJ 0
    789 #define YY_RESTORE_YY_MORE_OFFSET
    790 char *yytext;
    791 #line 1 "./config/bfin-lex.l"
    792 /* bfin-lex.l  ADI Blackfin lexer
    793    Copyright (C) 2005-2025 Free Software Foundation, Inc.
    794 
    795    This file is part of GAS, the GNU Assembler.
    796 
    797    GAS is free software; you can redistribute it and/or modify
    798    it under the terms of the GNU General Public License as published by
    799    the Free Software Foundation; either version 3, or (at your option)
    800    any later version.
    801 
    802    GAS is distributed in the hope that it will be useful,
    803    but WITHOUT ANY WARRANTY; without even the implied warranty of
    804    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    805    GNU General Public License for more details.
    806 
    807    You should have received a copy of the GNU General Public License
    808    along with GAS; see the file COPYING.  If not, write to the Free
    809    Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA
    810    02110-1301, USA.  */
    811 #line 23 "./config/bfin-lex.l"
    812 #include "bfin-defs.h"
    813 #include "config/bfin-parse.h"
    814 
    815 static long parse_int (char **end);
    816 static int parse_halfreg (Register *r, int cl, char *hr);
    817 static int parse_reg (Register *r, int type, char *rt);
    818 int yylex (void);
    819 
    820 #define _REG yylval.reg
    821 
    822 /* Flex generates static functions "input" & "unput" which are not used.  */
    823 #define YY_NO_INPUT
    824 #define YY_NO_UNPUT
    825 
    826 #line 826 "config/bfin-lex.c"
    827 /* Define Start States ... Actually we will use exclusion.
    828    If no start state is specified it should match any state
    829    and <INITIAL> would match some keyword rules only with
    830    initial.  */
    831 
    832 #line 832 "config/bfin-lex.c"
    833 
    834 #define INITIAL 0
    835 #define KEYWORD 1
    836 #define FLAGS 2
    837 
    838 #ifndef YY_NO_UNISTD_H
    839 /* Special case for "unistd.h", since it is non-ANSI. We include it way
    840  * down here because we want the user's section 1 to have been scanned first.
    841  * The user has a chance to override it with an option.
    842  */
    843 #include <unistd.h>
    844 #endif
    845 
    846 #ifndef YY_EXTRA_TYPE
    847 #define YY_EXTRA_TYPE void *
    848 #endif
    849 
    850 static int yy_init_globals ( void );
    851 
    852 /* Accessor methods to globals.
    853    These are made visible to non-reentrant scanners for convenience. */
    854 
    855 int yylex_destroy ( void );
    856 
    857 int yyget_debug ( void );
    858 
    859 void yyset_debug ( int debug_flag  );
    860 
    861 YY_EXTRA_TYPE yyget_extra ( void );
    862 
    863 void yyset_extra ( YY_EXTRA_TYPE user_defined  );
    864 
    865 FILE *yyget_in ( void );
    866 
    867 void yyset_in  ( FILE * _in_str  );
    868 
    869 FILE *yyget_out ( void );
    870 
    871 void yyset_out  ( FILE * _out_str  );
    872 
    873 			int yyget_leng ( void );
    874 
    875 char *yyget_text ( void );
    876 
    877 int yyget_lineno ( void );
    878 
    879 void yyset_lineno ( int _line_number  );
    880 
    881 /* Macros after this point can all be overridden by user definitions in
    882  * section 1.
    883  */
    884 
    885 #ifndef YY_SKIP_YYWRAP
    886 #ifdef __cplusplus
    887 extern "C" int yywrap ( void );
    888 #else
    889 extern int yywrap ( void );
    890 #endif
    891 #endif
    892 
    893 #ifndef YY_NO_UNPUT
    894 
    895     static void yyunput ( int c, char *buf_ptr  );
    896 
    897 #endif
    898 
    899 #ifndef yytext_ptr
    900 static void yy_flex_strncpy ( char *, const char *, int );
    901 #endif
    902 
    903 #ifdef YY_NEED_STRLEN
    904 static int yy_flex_strlen ( const char * );
    905 #endif
    906 
    907 #ifndef YY_NO_INPUT
    908 #ifdef __cplusplus
    909 static int yyinput ( void );
    910 #else
    911 static int input ( void );
    912 #endif
    913 
    914 #endif
    915 
    916 /* Amount of stuff to slurp up with each read. */
    917 #ifndef YY_READ_BUF_SIZE
    918 #ifdef __ia64__
    919 /* On IA-64, the buffer size is 16k, not 8k */
    920 #define YY_READ_BUF_SIZE 16384
    921 #else
    922 #define YY_READ_BUF_SIZE 8192
    923 #endif /* __ia64__ */
    924 #endif
    925 
    926 /* Copy whatever the last rule matched to the standard output. */
    927 #ifndef ECHO
    928 /* This used to be an fputs(), but since the string might contain NUL's,
    929  * we now use fwrite().
    930  */
    931 #define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
    932 #endif
    933 
    934 /* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
    935  * is returned in "result".
    936  */
    937 #ifndef YY_INPUT
    938 #define YY_INPUT(buf,result,max_size) \
    939 	if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
    940 		{ \
    941 		int c = '*'; \
    942 		int n; \
    943 		for ( n = 0; n < max_size && \
    944 			     (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
    945 			buf[n] = (char) c; \
    946 		if ( c == '\n' ) \
    947 			buf[n++] = (char) c; \
    948 		if ( c == EOF && ferror( yyin ) ) \
    949 			YY_FATAL_ERROR( "input in flex scanner failed" ); \
    950 		result = n; \
    951 		} \
    952 	else \
    953 		{ \
    954 		errno=0; \
    955 		while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
    956 			{ \
    957 			if( errno != EINTR) \
    958 				{ \
    959 				YY_FATAL_ERROR( "input in flex scanner failed" ); \
    960 				break; \
    961 				} \
    962 			errno=0; \
    963 			clearerr(yyin); \
    964 			} \
    965 		}\
    966 \
    967 
    968 #endif
    969 
    970 /* No semi-colon after return; correct usage is to write "yyterminate();" -
    971  * we don't want an extra ';' after the "return" because that will cause
    972  * some compilers to complain about unreachable statements.
    973  */
    974 #ifndef yyterminate
    975 #define yyterminate() return YY_NULL
    976 #endif
    977 
    978 /* Number of entries by which start-condition stack grows. */
    979 #ifndef YY_START_STACK_INCR
    980 #define YY_START_STACK_INCR 25
    981 #endif
    982 
    983 /* Report a fatal error. */
    984 #ifndef YY_FATAL_ERROR
    985 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
    986 #endif
    987 
    988 /* end tables serialization structures and prototypes */
    989 
    990 /* Default declaration of generated scanner - a define so the user can
    991  * easily add parameters.
    992  */
    993 #ifndef YY_DECL
    994 #define YY_DECL_IS_OURS 1
    995 
    996 extern int yylex (void);
    997 
    998 #define YY_DECL int yylex (void)
    999 #endif /* !YY_DECL */
   1000 
   1001 /* Code executed at the beginning of each rule, after yytext and yyleng
   1002  * have been set up.
   1003  */
   1004 #ifndef YY_USER_ACTION
   1005 #define YY_USER_ACTION
   1006 #endif
   1007 
   1008 /* Code executed at the end of each rule. */
   1009 #ifndef YY_BREAK
   1010 #define YY_BREAK /*LINTED*/break;
   1011 #endif
   1012 
   1013 #define YY_RULE_SETUP \
   1014 	YY_USER_ACTION
   1015 
   1016 /** The main scanner function which does all the work.
   1017  */
   1018 YY_DECL
   1019 {
   1020 	yy_state_type yy_current_state;
   1021 	char *yy_cp, *yy_bp;
   1022 	int yy_act;
   1023 
   1024 	if ( !(yy_init) )
   1025 		{
   1026 		(yy_init) = 1;
   1027 
   1028 #ifdef YY_USER_INIT
   1029 		YY_USER_INIT;
   1030 #endif
   1031 
   1032 		if ( ! (yy_start) )
   1033 			(yy_start) = 1;	/* first start state */
   1034 
   1035 		if ( ! yyin )
   1036 			yyin = stdin;
   1037 
   1038 		if ( ! yyout )
   1039 			yyout = stdout;
   1040 
   1041 		if ( ! YY_CURRENT_BUFFER ) {
   1042 			yyensure_buffer_stack ();
   1043 			YY_CURRENT_BUFFER_LVALUE =
   1044 				yy_create_buffer( yyin, YY_BUF_SIZE );
   1045 		}
   1046 
   1047 		yy_load_buffer_state(  );
   1048 		}
   1049 
   1050 	{
   1051 #line 46 "./config/bfin-lex.l"
   1052 
   1053 #line 1053 "config/bfin-lex.c"
   1054 
   1055 	while ( /*CONSTCOND*/1 )		/* loops until end-of-file is reached */
   1056 		{
   1057 		yy_cp = (yy_c_buf_p);
   1058 
   1059 		/* Support of yytext. */
   1060 		*yy_cp = (yy_hold_char);
   1061 
   1062 		/* yy_bp points to the position in yy_ch_buf of the start of
   1063 		 * the current run.
   1064 		 */
   1065 		yy_bp = yy_cp;
   1066 
   1067 		yy_current_state = (yy_start);
   1068 yy_match:
   1069 		do
   1070 			{
   1071 			YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
   1072 			if ( yy_accept[yy_current_state] )
   1073 				{
   1074 				(yy_last_accepting_state) = yy_current_state;
   1075 				(yy_last_accepting_cpos) = yy_cp;
   1076 				}
   1077 			while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
   1078 				{
   1079 				yy_current_state = (int) yy_def[yy_current_state];
   1080 				if ( yy_current_state >= 570 )
   1081 					yy_c = yy_meta[yy_c];
   1082 				}
   1083 			yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
   1084 			++yy_cp;
   1085 			}
   1086 		while ( yy_base[yy_current_state] != 666 );
   1087 
   1088 yy_find_action:
   1089 		yy_act = yy_accept[yy_current_state];
   1090 		if ( yy_act == 0 )
   1091 			{ /* have to back up */
   1092 			yy_cp = (yy_last_accepting_cpos);
   1093 			yy_current_state = (yy_last_accepting_state);
   1094 			yy_act = yy_accept[yy_current_state];
   1095 			}
   1096 
   1097 		YY_DO_BEFORE_ACTION;
   1098 
   1099 do_action:	/* This label is used only to access EOF actions. */
   1100 
   1101 		switch ( yy_act )
   1102 	{ /* beginning of action switch */
   1103 			case 0: /* must back up */
   1104 			/* undo the effects of YY_DO_BEFORE_ACTION */
   1105 			*yy_cp = (yy_hold_char);
   1106 			yy_cp = (yy_last_accepting_cpos);
   1107 			yy_current_state = (yy_last_accepting_state);
   1108 			goto yy_find_action;
   1109 
   1110 case 1:
   1111 YY_RULE_SETUP
   1112 #line 47 "./config/bfin-lex.l"
   1113 _REG.regno = REG_sftreset;  return REG;
   1114 	YY_BREAK
   1115 case 2:
   1116 YY_RULE_SETUP
   1117 #line 48 "./config/bfin-lex.l"
   1118 _REG.regno = REG_omode;     return REG;
   1119 	YY_BREAK
   1120 case 3:
   1121 YY_RULE_SETUP
   1122 #line 49 "./config/bfin-lex.l"
   1123 _REG.regno = REG_idle_req;  return REG;
   1124 	YY_BREAK
   1125 case 4:
   1126 YY_RULE_SETUP
   1127 #line 50 "./config/bfin-lex.l"
   1128 _REG.regno = REG_hwerrcause; return REG;
   1129 	YY_BREAK
   1130 case 5:
   1131 YY_RULE_SETUP
   1132 #line 51 "./config/bfin-lex.l"
   1133 _REG.regno = REG_excause;   return REG;
   1134 	YY_BREAK
   1135 case 6:
   1136 YY_RULE_SETUP
   1137 #line 52 "./config/bfin-lex.l"
   1138 _REG.regno = REG_emucause;  return REG;
   1139 	YY_BREAK
   1140 case 7:
   1141 YY_RULE_SETUP
   1142 #line 53 "./config/bfin-lex.l"
   1143 return Z;
   1144 	YY_BREAK
   1145 case 8:
   1146 YY_RULE_SETUP
   1147 #line 54 "./config/bfin-lex.l"
   1148 return X;
   1149 	YY_BREAK
   1150 case 9:
   1151 YY_RULE_SETUP
   1152 #line 55 "./config/bfin-lex.l"
   1153 yylval.value = M_W32; return MMOD;
   1154 	YY_BREAK
   1155 case 10:
   1156 YY_RULE_SETUP
   1157 #line 56 "./config/bfin-lex.l"
   1158 return W;
   1159 	YY_BREAK
   1160 case 11:
   1161 YY_RULE_SETUP
   1162 #line 57 "./config/bfin-lex.l"
   1163 return VIT_MAX;
   1164 	YY_BREAK
   1165 case 12:
   1166 YY_RULE_SETUP
   1167 #line 58 "./config/bfin-lex.l"
   1168 return V; /* Special: V is a statflag and a modifier.  */
   1169 	YY_BREAK
   1170 case 13:
   1171 YY_RULE_SETUP
   1172 #line 59 "./config/bfin-lex.l"
   1173 _REG.regno = REG_USP; return REG;
   1174 	YY_BREAK
   1175 case 14:
   1176 YY_RULE_SETUP
   1177 #line 60 "./config/bfin-lex.l"
   1178 return TL;
   1179 	YY_BREAK
   1180 case 15:
   1181 YY_RULE_SETUP
   1182 #line 61 "./config/bfin-lex.l"
   1183 return TH;
   1184 	YY_BREAK
   1185 case 16:
   1186 YY_RULE_SETUP
   1187 #line 62 "./config/bfin-lex.l"
   1188 yylval.value = M_TFU; return MMOD;
   1189 	YY_BREAK
   1190 case 17:
   1191 YY_RULE_SETUP
   1192 #line 63 "./config/bfin-lex.l"
   1193 return TESTSET;
   1194 	YY_BREAK
   1195 case 18:
   1196 YY_RULE_SETUP
   1197 #line 64 "./config/bfin-lex.l"
   1198 yylval.value = M_T; return MMOD;
   1199 	YY_BREAK
   1200 case 19:
   1201 YY_RULE_SETUP
   1202 #line 65 "./config/bfin-lex.l"
   1203 return S;
   1204 	YY_BREAK
   1205 case 20:
   1206 YY_RULE_SETUP
   1207 #line 66 "./config/bfin-lex.l"
   1208 _REG.regno = REG_SYSCFG; return REG;
   1209 	YY_BREAK
   1210 case 21:
   1211 YY_RULE_SETUP
   1212 #line 67 "./config/bfin-lex.l"
   1213 return STI;
   1214 	YY_BREAK
   1215 case 22:
   1216 YY_RULE_SETUP
   1217 #line 68 "./config/bfin-lex.l"
   1218 return SSYNC;
   1219 	YY_BREAK
   1220 case 23:
   1221 YY_RULE_SETUP
   1222 #line 69 "./config/bfin-lex.l"
   1223 _REG.regno = REG_SP; _REG.flags = F_REG_LOW; return HALF_REG;
   1224 	YY_BREAK
   1225 case 24:
   1226 YY_RULE_SETUP
   1227 #line 70 "./config/bfin-lex.l"
   1228 _REG.regno = REG_SP; _REG.flags = F_REG_HIGH; return HALF_REG;
   1229 	YY_BREAK
   1230 case 25:
   1231 YY_RULE_SETUP
   1232 #line 71 "./config/bfin-lex.l"
   1233 _REG.regno = REG_SP; return REG;
   1234 	YY_BREAK
   1235 case 26:
   1236 YY_RULE_SETUP
   1237 #line 72 "./config/bfin-lex.l"
   1238 return SIGNBITS;
   1239 	YY_BREAK
   1240 case 27:
   1241 YY_RULE_SETUP
   1242 #line 73 "./config/bfin-lex.l"
   1243 return SIGN;
   1244 	YY_BREAK
   1245 case 28:
   1246 YY_RULE_SETUP
   1247 #line 74 "./config/bfin-lex.l"
   1248 _REG.regno = REG_SEQSTAT; return REG;
   1249 	YY_BREAK
   1250 case 29:
   1251 YY_RULE_SETUP
   1252 #line 75 "./config/bfin-lex.l"
   1253 return SEARCH;
   1254 	YY_BREAK
   1255 case 30:
   1256 YY_RULE_SETUP
   1257 #line 76 "./config/bfin-lex.l"
   1258 return SHIFT;
   1259 	YY_BREAK
   1260 case 31:
   1261 YY_RULE_SETUP
   1262 #line 77 "./config/bfin-lex.l"
   1263 return SCO;
   1264 	YY_BREAK
   1265 case 32:
   1266 YY_RULE_SETUP
   1267 #line 79 "./config/bfin-lex.l"
   1268 return SAA;
   1269 	YY_BREAK
   1270 case 33:
   1271 YY_RULE_SETUP
   1272 #line 80 "./config/bfin-lex.l"
   1273 yylval.value = M_S2RND; return MMOD;
   1274 	YY_BREAK
   1275 case 34:
   1276 YY_RULE_SETUP
   1277 #line 81 "./config/bfin-lex.l"
   1278 return RTX;
   1279 	YY_BREAK
   1280 case 35:
   1281 YY_RULE_SETUP
   1282 #line 82 "./config/bfin-lex.l"
   1283 return RTS;
   1284 	YY_BREAK
   1285 case 36:
   1286 YY_RULE_SETUP
   1287 #line 83 "./config/bfin-lex.l"
   1288 return RTN;
   1289 	YY_BREAK
   1290 case 37:
   1291 YY_RULE_SETUP
   1292 #line 84 "./config/bfin-lex.l"
   1293 return RTI;
   1294 	YY_BREAK
   1295 case 38:
   1296 YY_RULE_SETUP
   1297 #line 85 "./config/bfin-lex.l"
   1298 return RTE;
   1299 	YY_BREAK
   1300 case 39:
   1301 YY_RULE_SETUP
   1302 #line 86 "./config/bfin-lex.l"
   1303 return ROT;
   1304 	YY_BREAK
   1305 case 40:
   1306 YY_RULE_SETUP
   1307 #line 87 "./config/bfin-lex.l"
   1308 return RND20;
   1309 	YY_BREAK
   1310 case 41:
   1311 YY_RULE_SETUP
   1312 #line 88 "./config/bfin-lex.l"
   1313 return RND12;
   1314 	YY_BREAK
   1315 case 42:
   1316 YY_RULE_SETUP
   1317 #line 89 "./config/bfin-lex.l"
   1318 return RNDL;
   1319 	YY_BREAK
   1320 case 43:
   1321 YY_RULE_SETUP
   1322 #line 90 "./config/bfin-lex.l"
   1323 return RNDH;
   1324 	YY_BREAK
   1325 case 44:
   1326 YY_RULE_SETUP
   1327 #line 91 "./config/bfin-lex.l"
   1328 return RND;
   1329 	YY_BREAK
   1330 case 45:
   1331 YY_RULE_SETUP
   1332 #line 93 "./config/bfin-lex.l"
   1333 return parse_halfreg(&yylval.reg, T_REG_R, yytext);
   1334 	YY_BREAK
   1335 case 46:
   1336 YY_RULE_SETUP
   1337 #line 95 "./config/bfin-lex.l"
   1338 _REG.regno = REG_RETS; return REG;
   1339 	YY_BREAK
   1340 case 47:
   1341 YY_RULE_SETUP
   1342 #line 96 "./config/bfin-lex.l"
   1343 _REG.regno = REG_RETI; return REG;
   1344 	YY_BREAK
   1345 case 48:
   1346 YY_RULE_SETUP
   1347 #line 97 "./config/bfin-lex.l"
   1348 _REG.regno = REG_RETX; return REG;
   1349 	YY_BREAK
   1350 case 49:
   1351 YY_RULE_SETUP
   1352 #line 98 "./config/bfin-lex.l"
   1353 _REG.regno = REG_RETN; return REG;
   1354 	YY_BREAK
   1355 case 50:
   1356 YY_RULE_SETUP
   1357 #line 99 "./config/bfin-lex.l"
   1358 _REG.regno = REG_RETE; return REG;
   1359 	YY_BREAK
   1360 case 51:
   1361 YY_RULE_SETUP
   1362 #line 100 "./config/bfin-lex.l"
   1363 _REG.regno = REG_EMUDAT; return REG;
   1364 	YY_BREAK
   1365 case 52:
   1366 YY_RULE_SETUP
   1367 #line 101 "./config/bfin-lex.l"
   1368 return RAISE;
   1369 	YY_BREAK
   1370 case 53:
   1371 YY_RULE_SETUP
   1372 #line 103 "./config/bfin-lex.l"
   1373 return parse_reg (&yylval.reg, T_REG_R, yytext);
   1374 	YY_BREAK
   1375 case 54:
   1376 YY_RULE_SETUP
   1377 #line 105 "./config/bfin-lex.l"
   1378 return R;
   1379 	YY_BREAK
   1380 case 55:
   1381 YY_RULE_SETUP
   1382 #line 106 "./config/bfin-lex.l"
   1383 return PRNT;
   1384 	YY_BREAK
   1385 case 56:
   1386 YY_RULE_SETUP
   1387 #line 107 "./config/bfin-lex.l"
   1388 return PC;
   1389 	YY_BREAK
   1390 case 57:
   1391 YY_RULE_SETUP
   1392 #line 108 "./config/bfin-lex.l"
   1393 return PACK;
   1394 	YY_BREAK
   1395 case 58:
   1396 YY_RULE_SETUP
   1397 #line 110 "./config/bfin-lex.l"
   1398 return parse_halfreg (&yylval.reg, T_REG_P, yytext);
   1399 	YY_BREAK
   1400 case 59:
   1401 YY_RULE_SETUP
   1402 #line 111 "./config/bfin-lex.l"
   1403 return parse_reg (&yylval.reg, T_REG_P, yytext);
   1404 	YY_BREAK
   1405 case 60:
   1406 YY_RULE_SETUP
   1407 #line 113 "./config/bfin-lex.l"
   1408 return OUTC;
   1409 	YY_BREAK
   1410 case 61:
   1411 YY_RULE_SETUP
   1412 #line 114 "./config/bfin-lex.l"
   1413 return ONES;
   1414 	YY_BREAK
   1415 case 62:
   1416 YY_RULE_SETUP
   1417 #line 116 "./config/bfin-lex.l"
   1418 return NOT;
   1419 	YY_BREAK
   1420 case 63:
   1421 YY_RULE_SETUP
   1422 #line 117 "./config/bfin-lex.l"
   1423 return NOP;
   1424 	YY_BREAK
   1425 case 64:
   1426 YY_RULE_SETUP
   1427 #line 118 "./config/bfin-lex.l"
   1428 return MNOP;
   1429 	YY_BREAK
   1430 case 65:
   1431 YY_RULE_SETUP
   1432 #line 119 "./config/bfin-lex.l"
   1433 return NS;
   1434 	YY_BREAK
   1435 case 66:
   1436 YY_RULE_SETUP
   1437 #line 122 "./config/bfin-lex.l"
   1438 return MIN;
   1439 	YY_BREAK
   1440 case 67:
   1441 YY_RULE_SETUP
   1442 #line 123 "./config/bfin-lex.l"
   1443 return MAX;
   1444 	YY_BREAK
   1445 case 68:
   1446 YY_RULE_SETUP
   1447 #line 125 "./config/bfin-lex.l"
   1448 return parse_halfreg (&yylval.reg, T_REG_M, yytext);
   1449 	YY_BREAK
   1450 case 69:
   1451 YY_RULE_SETUP
   1452 #line 126 "./config/bfin-lex.l"
   1453 return parse_reg (&yylval.reg, T_REG_M, yytext);
   1454 	YY_BREAK
   1455 case 70:
   1456 YY_RULE_SETUP
   1457 #line 128 "./config/bfin-lex.l"
   1458 return M;
   1459 	YY_BREAK
   1460 case 71:
   1461 YY_RULE_SETUP
   1462 #line 129 "./config/bfin-lex.l"
   1463 return LT;
   1464 	YY_BREAK
   1465 case 72:
   1466 YY_RULE_SETUP
   1467 #line 130 "./config/bfin-lex.l"
   1468 return LSHIFT;
   1469 	YY_BREAK
   1470 case 73:
   1471 YY_RULE_SETUP
   1472 #line 131 "./config/bfin-lex.l"
   1473 return LSETUP;
   1474 	YY_BREAK
   1475 case 74:
   1476 YY_RULE_SETUP
   1477 #line 132 "./config/bfin-lex.l"
   1478 return LOOP;
   1479 	YY_BREAK
   1480 case 75:
   1481 YY_RULE_SETUP
   1482 #line 133 "./config/bfin-lex.l"
   1483 return LOOP_BEGIN;
   1484 	YY_BREAK
   1485 case 76:
   1486 YY_RULE_SETUP
   1487 #line 134 "./config/bfin-lex.l"
   1488 return LOOP_END;
   1489 	YY_BREAK
   1490 case 77:
   1491 YY_RULE_SETUP
   1492 #line 136 "./config/bfin-lex.l"
   1493 return LE;
   1494 	YY_BREAK
   1495 case 78:
   1496 YY_RULE_SETUP
   1497 #line 137 "./config/bfin-lex.l"
   1498 _REG.regno = REG_LC0; return REG;
   1499 	YY_BREAK
   1500 case 79:
   1501 YY_RULE_SETUP
   1502 #line 138 "./config/bfin-lex.l"
   1503 _REG.regno = REG_LT0; return REG;
   1504 	YY_BREAK
   1505 case 80:
   1506 YY_RULE_SETUP
   1507 #line 139 "./config/bfin-lex.l"
   1508 _REG.regno = REG_LB0; return REG;
   1509 	YY_BREAK
   1510 case 81:
   1511 YY_RULE_SETUP
   1512 #line 140 "./config/bfin-lex.l"
   1513 _REG.regno = REG_LC1; return REG;
   1514 	YY_BREAK
   1515 case 82:
   1516 YY_RULE_SETUP
   1517 #line 141 "./config/bfin-lex.l"
   1518 _REG.regno = REG_LT1; return REG;
   1519 	YY_BREAK
   1520 case 83:
   1521 YY_RULE_SETUP
   1522 #line 142 "./config/bfin-lex.l"
   1523 _REG.regno = REG_LB1; return REG;
   1524 	YY_BREAK
   1525 case 84:
   1526 YY_RULE_SETUP
   1527 #line 144 "./config/bfin-lex.l"
   1528 return parse_halfreg (&yylval.reg, T_REG_L, yytext);
   1529 	YY_BREAK
   1530 case 85:
   1531 YY_RULE_SETUP
   1532 #line 145 "./config/bfin-lex.l"
   1533 return parse_reg (&yylval.reg, T_REG_L, yytext);
   1534 	YY_BREAK
   1535 case 86:
   1536 YY_RULE_SETUP
   1537 #line 146 "./config/bfin-lex.l"
   1538 return LO;
   1539 	YY_BREAK
   1540 case 87:
   1541 YY_RULE_SETUP
   1542 #line 147 "./config/bfin-lex.l"
   1543 { BEGIN 0; return JUMP_DOT_S;}
   1544 	YY_BREAK
   1545 case 88:
   1546 YY_RULE_SETUP
   1547 #line 148 "./config/bfin-lex.l"
   1548 { BEGIN 0; return JUMP_DOT_L;}
   1549 	YY_BREAK
   1550 case 89:
   1551 YY_RULE_SETUP
   1552 #line 149 "./config/bfin-lex.l"
   1553 { BEGIN 0; return JUMP;}
   1554 	YY_BREAK
   1555 case 90:
   1556 YY_RULE_SETUP
   1557 #line 150 "./config/bfin-lex.l"
   1558 { BEGIN 0; return JUMP_DOT_L; }
   1559 	YY_BREAK
   1560 case 91:
   1561 YY_RULE_SETUP
   1562 #line 151 "./config/bfin-lex.l"
   1563 yylval.value = M_IU;   return MMOD;
   1564 	YY_BREAK
   1565 case 92:
   1566 YY_RULE_SETUP
   1567 #line 152 "./config/bfin-lex.l"
   1568 yylval.value = M_ISS2; return MMOD;
   1569 	YY_BREAK
   1570 case 93:
   1571 YY_RULE_SETUP
   1572 #line 153 "./config/bfin-lex.l"
   1573 yylval.value = M_IS;   return MMOD;
   1574 	YY_BREAK
   1575 case 94:
   1576 YY_RULE_SETUP
   1577 #line 154 "./config/bfin-lex.l"
   1578 yylval.value = M_IH;   return MMOD;
   1579 	YY_BREAK
   1580 case 95:
   1581 YY_RULE_SETUP
   1582 #line 155 "./config/bfin-lex.l"
   1583 return IF;
   1584 	YY_BREAK
   1585 case 96:
   1586 YY_RULE_SETUP
   1587 #line 156 "./config/bfin-lex.l"
   1588 return parse_halfreg (&yylval.reg, T_REG_I, yytext);
   1589 	YY_BREAK
   1590 case 97:
   1591 YY_RULE_SETUP
   1592 #line 157 "./config/bfin-lex.l"
   1593 return parse_reg (&yylval.reg, T_REG_I, yytext);
   1594 	YY_BREAK
   1595 case 98:
   1596 YY_RULE_SETUP
   1597 #line 158 "./config/bfin-lex.l"
   1598 return HLT;
   1599 	YY_BREAK
   1600 case 99:
   1601 YY_RULE_SETUP
   1602 #line 159 "./config/bfin-lex.l"
   1603 return HI;
   1604 	YY_BREAK
   1605 case 100:
   1606 YY_RULE_SETUP
   1607 #line 160 "./config/bfin-lex.l"
   1608 return GT;
   1609 	YY_BREAK
   1610 case 101:
   1611 YY_RULE_SETUP
   1612 #line 161 "./config/bfin-lex.l"
   1613 return GE;
   1614 	YY_BREAK
   1615 case 102:
   1616 YY_RULE_SETUP
   1617 #line 162 "./config/bfin-lex.l"
   1618 yylval.value = M_FU; return MMOD;
   1619 	YY_BREAK
   1620 case 103:
   1621 YY_RULE_SETUP
   1622 #line 163 "./config/bfin-lex.l"
   1623 _REG.regno = REG_FP; return REG;
   1624 	YY_BREAK
   1625 case 104:
   1626 YY_RULE_SETUP
   1627 #line 164 "./config/bfin-lex.l"
   1628 _REG.regno = REG_FP; _REG.flags = F_REG_LOW; return HALF_REG;
   1629 	YY_BREAK
   1630 case 105:
   1631 YY_RULE_SETUP
   1632 #line 165 "./config/bfin-lex.l"
   1633 _REG.regno = REG_FP; _REG.flags = F_REG_HIGH; return HALF_REG;
   1634 	YY_BREAK
   1635 case 106:
   1636 YY_RULE_SETUP
   1637 #line 167 "./config/bfin-lex.l"
   1638 return EXTRACT;
   1639 	YY_BREAK
   1640 case 107:
   1641 YY_RULE_SETUP
   1642 #line 168 "./config/bfin-lex.l"
   1643 return EXPADJ;
   1644 	YY_BREAK
   1645 case 108:
   1646 YY_RULE_SETUP
   1647 #line 169 "./config/bfin-lex.l"
   1648 return EXCPT;
   1649 	YY_BREAK
   1650 case 109:
   1651 YY_RULE_SETUP
   1652 #line 170 "./config/bfin-lex.l"
   1653 return EMUEXCPT;
   1654 	YY_BREAK
   1655 case 110:
   1656 YY_RULE_SETUP
   1657 #line 171 "./config/bfin-lex.l"
   1658 return DIVS;
   1659 	YY_BREAK
   1660 case 111:
   1661 YY_RULE_SETUP
   1662 #line 172 "./config/bfin-lex.l"
   1663 return DIVQ;
   1664 	YY_BREAK
   1665 case 112:
   1666 YY_RULE_SETUP
   1667 #line 173 "./config/bfin-lex.l"
   1668 return DISALGNEXCPT;
   1669 	YY_BREAK
   1670 case 113:
   1671 YY_RULE_SETUP
   1672 #line 174 "./config/bfin-lex.l"
   1673 return DEPOSIT;
   1674 	YY_BREAK
   1675 case 114:
   1676 YY_RULE_SETUP
   1677 #line 175 "./config/bfin-lex.l"
   1678 return DBGHALT;
   1679 	YY_BREAK
   1680 case 115:
   1681 YY_RULE_SETUP
   1682 #line 176 "./config/bfin-lex.l"
   1683 return DBGCMPLX;
   1684 	YY_BREAK
   1685 case 116:
   1686 YY_RULE_SETUP
   1687 #line 177 "./config/bfin-lex.l"
   1688 return DBGAL;
   1689 	YY_BREAK
   1690 case 117:
   1691 YY_RULE_SETUP
   1692 #line 178 "./config/bfin-lex.l"
   1693 return DBGAH;
   1694 	YY_BREAK
   1695 case 118:
   1696 YY_RULE_SETUP
   1697 #line 179 "./config/bfin-lex.l"
   1698 return DBGA;
   1699 	YY_BREAK
   1700 case 119:
   1701 YY_RULE_SETUP
   1702 #line 180 "./config/bfin-lex.l"
   1703 return DBG;
   1704 	YY_BREAK
   1705 case 120:
   1706 YY_RULE_SETUP
   1707 #line 181 "./config/bfin-lex.l"
   1708 { _REG.regno = REG_CYCLES2; return REG; }
   1709 	YY_BREAK
   1710 case 121:
   1711 YY_RULE_SETUP
   1712 #line 182 "./config/bfin-lex.l"
   1713 { _REG.regno = REG_CYCLES; return REG; }
   1714 	YY_BREAK
   1715 case 122:
   1716 YY_RULE_SETUP
   1717 #line 183 "./config/bfin-lex.l"
   1718 return CSYNC;
   1719 	YY_BREAK
   1720 case 123:
   1721 YY_RULE_SETUP
   1722 #line 184 "./config/bfin-lex.l"
   1723 return CO;
   1724 	YY_BREAK
   1725 case 124:
   1726 YY_RULE_SETUP
   1727 #line 185 "./config/bfin-lex.l"
   1728 return CLI;
   1729 	YY_BREAK
   1730 case 125:
   1731 YY_RULE_SETUP
   1732 #line 187 "./config/bfin-lex.l"
   1733 _REG.regno = REG_CC; return CCREG;
   1734 	YY_BREAK
   1735 case 126:
   1736 YY_RULE_SETUP
   1737 #line 188 "./config/bfin-lex.l"
   1738 { BEGIN 0; return CALL;}
   1739 	YY_BREAK
   1740 case 127:
   1741 YY_RULE_SETUP
   1742 #line 189 "./config/bfin-lex.l"
   1743 { BEGIN 0; return CALL;}
   1744 	YY_BREAK
   1745 case 128:
   1746 YY_RULE_SETUP
   1747 #line 190 "./config/bfin-lex.l"
   1748 return BYTEUNPACK;
   1749 	YY_BREAK
   1750 case 129:
   1751 YY_RULE_SETUP
   1752 #line 191 "./config/bfin-lex.l"
   1753 return BYTEPACK;
   1754 	YY_BREAK
   1755 case 130:
   1756 YY_RULE_SETUP
   1757 #line 192 "./config/bfin-lex.l"
   1758 return BYTEOP16M;
   1759 	YY_BREAK
   1760 case 131:
   1761 YY_RULE_SETUP
   1762 #line 193 "./config/bfin-lex.l"
   1763 return BYTEOP16P;
   1764 	YY_BREAK
   1765 case 132:
   1766 YY_RULE_SETUP
   1767 #line 194 "./config/bfin-lex.l"
   1768 return BYTEOP3P;
   1769 	YY_BREAK
   1770 case 133:
   1771 YY_RULE_SETUP
   1772 #line 195 "./config/bfin-lex.l"
   1773 return BYTEOP2P;
   1774 	YY_BREAK
   1775 case 134:
   1776 YY_RULE_SETUP
   1777 #line 196 "./config/bfin-lex.l"
   1778 return BYTEOP1P;
   1779 	YY_BREAK
   1780 case 135:
   1781 YY_RULE_SETUP
   1782 #line 197 "./config/bfin-lex.l"
   1783 return BY;
   1784 	YY_BREAK
   1785 case 136:
   1786 YY_RULE_SETUP
   1787 #line 198 "./config/bfin-lex.l"
   1788 return BXORSHIFT;
   1789 	YY_BREAK
   1790 case 137:
   1791 YY_RULE_SETUP
   1792 #line 199 "./config/bfin-lex.l"
   1793 return BXOR;
   1794 	YY_BREAK
   1795 case 138:
   1796 YY_RULE_SETUP
   1797 #line 201 "./config/bfin-lex.l"
   1798 return BREV;
   1799 	YY_BREAK
   1800 case 139:
   1801 YY_RULE_SETUP
   1802 #line 202 "./config/bfin-lex.l"
   1803 return BP;
   1804 	YY_BREAK
   1805 case 140:
   1806 YY_RULE_SETUP
   1807 #line 203 "./config/bfin-lex.l"
   1808 return BITTST;
   1809 	YY_BREAK
   1810 case 141:
   1811 YY_RULE_SETUP
   1812 #line 204 "./config/bfin-lex.l"
   1813 return BITTGL;
   1814 	YY_BREAK
   1815 case 142:
   1816 YY_RULE_SETUP
   1817 #line 205 "./config/bfin-lex.l"
   1818 return BITSET;
   1819 	YY_BREAK
   1820 case 143:
   1821 YY_RULE_SETUP
   1822 #line 206 "./config/bfin-lex.l"
   1823 return BITMUX;
   1824 	YY_BREAK
   1825 case 144:
   1826 YY_RULE_SETUP
   1827 #line 207 "./config/bfin-lex.l"
   1828 return BITCLR;
   1829 	YY_BREAK
   1830 case 145:
   1831 YY_RULE_SETUP
   1832 #line 208 "./config/bfin-lex.l"
   1833 return parse_halfreg (&yylval.reg, T_REG_B, yytext);
   1834 	YY_BREAK
   1835 case 146:
   1836 YY_RULE_SETUP
   1837 #line 209 "./config/bfin-lex.l"
   1838 return parse_reg (&yylval.reg, T_REG_B, yytext);
   1839 	YY_BREAK
   1840 case 147:
   1841 YY_RULE_SETUP
   1842 #line 210 "./config/bfin-lex.l"
   1843 return B;
   1844 	YY_BREAK
   1845 case 148:
   1846 YY_RULE_SETUP
   1847 #line 211 "./config/bfin-lex.l"
   1848 _REG.regno = S_AZ;   return STATUS_REG;
   1849 	YY_BREAK
   1850 case 149:
   1851 YY_RULE_SETUP
   1852 #line 212 "./config/bfin-lex.l"
   1853 _REG.regno = S_AN;   return STATUS_REG;
   1854 	YY_BREAK
   1855 case 150:
   1856 YY_RULE_SETUP
   1857 #line 213 "./config/bfin-lex.l"
   1858 _REG.regno = S_AC0_COPY; return STATUS_REG;
   1859 	YY_BREAK
   1860 case 151:
   1861 YY_RULE_SETUP
   1862 #line 214 "./config/bfin-lex.l"
   1863 _REG.regno = S_V_COPY;   return STATUS_REG;
   1864 	YY_BREAK
   1865 case 152:
   1866 YY_RULE_SETUP
   1867 #line 215 "./config/bfin-lex.l"
   1868 _REG.regno = S_AQ;   return STATUS_REG;
   1869 	YY_BREAK
   1870 case 153:
   1871 YY_RULE_SETUP
   1872 #line 216 "./config/bfin-lex.l"
   1873 _REG.regno = S_AC0;  return STATUS_REG;
   1874 	YY_BREAK
   1875 case 154:
   1876 YY_RULE_SETUP
   1877 #line 217 "./config/bfin-lex.l"
   1878 _REG.regno = S_AC1;  return STATUS_REG;
   1879 	YY_BREAK
   1880 case 155:
   1881 YY_RULE_SETUP
   1882 #line 218 "./config/bfin-lex.l"
   1883 _REG.regno = S_AV0;  return STATUS_REG;
   1884 	YY_BREAK
   1885 case 156:
   1886 YY_RULE_SETUP
   1887 #line 219 "./config/bfin-lex.l"
   1888 _REG.regno = S_AV0S; return STATUS_REG;
   1889 	YY_BREAK
   1890 case 157:
   1891 YY_RULE_SETUP
   1892 #line 220 "./config/bfin-lex.l"
   1893 _REG.regno = S_AV1;  return STATUS_REG;
   1894 	YY_BREAK
   1895 case 158:
   1896 YY_RULE_SETUP
   1897 #line 221 "./config/bfin-lex.l"
   1898 _REG.regno = S_AV1S; return STATUS_REG;
   1899 	YY_BREAK
   1900 case 159:
   1901 YY_RULE_SETUP
   1902 #line 222 "./config/bfin-lex.l"
   1903 _REG.regno = S_VS;   return STATUS_REG;
   1904 	YY_BREAK
   1905 case 160:
   1906 YY_RULE_SETUP
   1907 #line 223 "./config/bfin-lex.l"
   1908 _REG.regno = S_RND_MOD; return STATUS_REG;
   1909 	YY_BREAK
   1910 case 161:
   1911 YY_RULE_SETUP
   1912 #line 226 "./config/bfin-lex.l"
   1913 _REG.regno = REG_ASTAT; return REG;
   1914 	YY_BREAK
   1915 case 162:
   1916 YY_RULE_SETUP
   1917 #line 227 "./config/bfin-lex.l"
   1918 return ASHIFT;
   1919 	YY_BREAK
   1920 case 163:
   1921 YY_RULE_SETUP
   1922 #line 228 "./config/bfin-lex.l"
   1923 return ASL;
   1924 	YY_BREAK
   1925 case 164:
   1926 YY_RULE_SETUP
   1927 #line 229 "./config/bfin-lex.l"
   1928 return ASR;
   1929 	YY_BREAK
   1930 case 165:
   1931 YY_RULE_SETUP
   1932 #line 230 "./config/bfin-lex.l"
   1933 return ALIGN8;
   1934 	YY_BREAK
   1935 case 166:
   1936 YY_RULE_SETUP
   1937 #line 231 "./config/bfin-lex.l"
   1938 return ALIGN16;
   1939 	YY_BREAK
   1940 case 167:
   1941 YY_RULE_SETUP
   1942 #line 232 "./config/bfin-lex.l"
   1943 return ALIGN24;
   1944 	YY_BREAK
   1945 case 168:
   1946 YY_RULE_SETUP
   1947 #line 233 "./config/bfin-lex.l"
   1948 return A_ONE_DOT_L;
   1949 	YY_BREAK
   1950 case 169:
   1951 YY_RULE_SETUP
   1952 #line 234 "./config/bfin-lex.l"
   1953 return A_ZERO_DOT_L;
   1954 	YY_BREAK
   1955 case 170:
   1956 YY_RULE_SETUP
   1957 #line 235 "./config/bfin-lex.l"
   1958 return A_ONE_DOT_H;
   1959 	YY_BREAK
   1960 case 171:
   1961 YY_RULE_SETUP
   1962 #line 236 "./config/bfin-lex.l"
   1963 return A_ZERO_DOT_H;
   1964 	YY_BREAK
   1965 case 172:
   1966 YY_RULE_SETUP
   1967 #line 237 "./config/bfin-lex.l"
   1968 return ABS;
   1969 	YY_BREAK
   1970 case 173:
   1971 YY_RULE_SETUP
   1972 #line 238 "./config/bfin-lex.l"
   1973 return ABORT;
   1974 	YY_BREAK
   1975 case 174:
   1976 YY_RULE_SETUP
   1977 #line 239 "./config/bfin-lex.l"
   1978 _REG.regno = REG_A1x; return REG;
   1979 	YY_BREAK
   1980 case 175:
   1981 YY_RULE_SETUP
   1982 #line 240 "./config/bfin-lex.l"
   1983 _REG.regno = REG_A1w; return REG;
   1984 	YY_BREAK
   1985 case 176:
   1986 YY_RULE_SETUP
   1987 #line 241 "./config/bfin-lex.l"
   1988 _REG.regno = REG_A1;  return REG_A_DOUBLE_ONE;
   1989 	YY_BREAK
   1990 case 177:
   1991 YY_RULE_SETUP
   1992 #line 242 "./config/bfin-lex.l"
   1993 _REG.regno = REG_A0x; return REG;
   1994 	YY_BREAK
   1995 case 178:
   1996 YY_RULE_SETUP
   1997 #line 243 "./config/bfin-lex.l"
   1998 _REG.regno = REG_A0w; return REG;
   1999 	YY_BREAK
   2000 case 179:
   2001 YY_RULE_SETUP
   2002 #line 244 "./config/bfin-lex.l"
   2003 _REG.regno = REG_A0;  return REG_A_DOUBLE_ZERO;
   2004 	YY_BREAK
   2005 case 180:
   2006 YY_RULE_SETUP
   2007 #line 245 "./config/bfin-lex.l"
   2008 return GOT;
   2009 	YY_BREAK
   2010 case 181:
   2011 YY_RULE_SETUP
   2012 #line 246 "./config/bfin-lex.l"
   2013 return GOT17M4;
   2014 	YY_BREAK
   2015 case 182:
   2016 YY_RULE_SETUP
   2017 #line 247 "./config/bfin-lex.l"
   2018 return FUNCDESC_GOT17M4;
   2019 	YY_BREAK
   2020 case 183:
   2021 YY_RULE_SETUP
   2022 #line 248 "./config/bfin-lex.l"
   2023 return PLTPC;
   2024 	YY_BREAK
   2025 case 184:
   2026 YY_RULE_SETUP
   2027 #line 251 "./config/bfin-lex.l"
   2028 return TILDA;
   2029 	YY_BREAK
   2030 case 185:
   2031 YY_RULE_SETUP
   2032 #line 252 "./config/bfin-lex.l"
   2033 return _BAR_ASSIGN;
   2034 	YY_BREAK
   2035 case 186:
   2036 YY_RULE_SETUP
   2037 #line 253 "./config/bfin-lex.l"
   2038 return BAR;
   2039 	YY_BREAK
   2040 case 187:
   2041 YY_RULE_SETUP
   2042 #line 254 "./config/bfin-lex.l"
   2043 return _CARET_ASSIGN;
   2044 	YY_BREAK
   2045 case 188:
   2046 YY_RULE_SETUP
   2047 #line 255 "./config/bfin-lex.l"
   2048 return CARET;
   2049 	YY_BREAK
   2050 case 189:
   2051 YY_RULE_SETUP
   2052 #line 256 "./config/bfin-lex.l"
   2053 return RBRACK;
   2054 	YY_BREAK
   2055 case 190:
   2056 YY_RULE_SETUP
   2057 #line 257 "./config/bfin-lex.l"
   2058 return LBRACK;
   2059 	YY_BREAK
   2060 case 191:
   2061 YY_RULE_SETUP
   2062 #line 258 "./config/bfin-lex.l"
   2063 return _GREATER_GREATER_GREATER_THAN_ASSIGN;
   2064 	YY_BREAK
   2065 case 192:
   2066 YY_RULE_SETUP
   2067 #line 259 "./config/bfin-lex.l"
   2068 return _GREATER_GREATER_ASSIGN;
   2069 	YY_BREAK
   2070 case 193:
   2071 YY_RULE_SETUP
   2072 #line 260 "./config/bfin-lex.l"
   2073 return _GREATER_GREATER_GREATER;
   2074 	YY_BREAK
   2075 case 194:
   2076 YY_RULE_SETUP
   2077 #line 261 "./config/bfin-lex.l"
   2078 return GREATER_GREATER;
   2079 	YY_BREAK
   2080 case 195:
   2081 YY_RULE_SETUP
   2082 #line 262 "./config/bfin-lex.l"
   2083 return _ASSIGN_ASSIGN;
   2084 	YY_BREAK
   2085 case 196:
   2086 YY_RULE_SETUP
   2087 #line 263 "./config/bfin-lex.l"
   2088 return ASSIGN;
   2089 	YY_BREAK
   2090 case 197:
   2091 YY_RULE_SETUP
   2092 #line 264 "./config/bfin-lex.l"
   2093 return _LESS_THAN_ASSIGN;
   2094 	YY_BREAK
   2095 case 198:
   2096 YY_RULE_SETUP
   2097 #line 265 "./config/bfin-lex.l"
   2098 return _LESS_LESS_ASSIGN;
   2099 	YY_BREAK
   2100 case 199:
   2101 YY_RULE_SETUP
   2102 #line 266 "./config/bfin-lex.l"
   2103 return LESS_LESS;
   2104 	YY_BREAK
   2105 case 200:
   2106 YY_RULE_SETUP
   2107 #line 267 "./config/bfin-lex.l"
   2108 return LESS_THAN;
   2109 	YY_BREAK
   2110 case 201:
   2111 YY_RULE_SETUP
   2112 #line 268 "./config/bfin-lex.l"
   2113 BEGIN(FLAGS); return LPAREN;
   2114 	YY_BREAK
   2115 case 202:
   2116 YY_RULE_SETUP
   2117 #line 269 "./config/bfin-lex.l"
   2118 BEGIN(INITIAL); return RPAREN;
   2119 	YY_BREAK
   2120 case 203:
   2121 YY_RULE_SETUP
   2122 #line 270 "./config/bfin-lex.l"
   2123 return COLON;
   2124 	YY_BREAK
   2125 case 204:
   2126 YY_RULE_SETUP
   2127 #line 271 "./config/bfin-lex.l"
   2128 return SLASH;
   2129 	YY_BREAK
   2130 case 205:
   2131 YY_RULE_SETUP
   2132 #line 272 "./config/bfin-lex.l"
   2133 return _MINUS_ASSIGN;
   2134 	YY_BREAK
   2135 case 206:
   2136 YY_RULE_SETUP
   2137 #line 273 "./config/bfin-lex.l"
   2138 return _PLUS_BAR_PLUS;
   2139 	YY_BREAK
   2140 case 207:
   2141 YY_RULE_SETUP
   2142 #line 274 "./config/bfin-lex.l"
   2143 return _MINUS_BAR_PLUS;
   2144 	YY_BREAK
   2145 case 208:
   2146 YY_RULE_SETUP
   2147 #line 275 "./config/bfin-lex.l"
   2148 return _PLUS_BAR_MINUS;
   2149 	YY_BREAK
   2150 case 209:
   2151 YY_RULE_SETUP
   2152 #line 276 "./config/bfin-lex.l"
   2153 return _MINUS_BAR_MINUS;
   2154 	YY_BREAK
   2155 case 210:
   2156 YY_RULE_SETUP
   2157 #line 277 "./config/bfin-lex.l"
   2158 return _MINUS_MINUS;
   2159 	YY_BREAK
   2160 case 211:
   2161 YY_RULE_SETUP
   2162 #line 278 "./config/bfin-lex.l"
   2163 return MINUS;
   2164 	YY_BREAK
   2165 case 212:
   2166 YY_RULE_SETUP
   2167 #line 279 "./config/bfin-lex.l"
   2168 return COMMA;
   2169 	YY_BREAK
   2170 case 213:
   2171 YY_RULE_SETUP
   2172 #line 280 "./config/bfin-lex.l"
   2173 return _PLUS_ASSIGN;
   2174 	YY_BREAK
   2175 case 214:
   2176 YY_RULE_SETUP
   2177 #line 281 "./config/bfin-lex.l"
   2178 return _PLUS_PLUS;
   2179 	YY_BREAK
   2180 case 215:
   2181 YY_RULE_SETUP
   2182 #line 282 "./config/bfin-lex.l"
   2183 return PLUS;
   2184 	YY_BREAK
   2185 case 216:
   2186 YY_RULE_SETUP
   2187 #line 283 "./config/bfin-lex.l"
   2188 return _STAR_ASSIGN;
   2189 	YY_BREAK
   2190 case 217:
   2191 YY_RULE_SETUP
   2192 #line 284 "./config/bfin-lex.l"
   2193 return STAR;
   2194 	YY_BREAK
   2195 case 218:
   2196 YY_RULE_SETUP
   2197 #line 285 "./config/bfin-lex.l"
   2198 return _AMPERSAND_ASSIGN;
   2199 	YY_BREAK
   2200 case 219:
   2201 YY_RULE_SETUP
   2202 #line 286 "./config/bfin-lex.l"
   2203 return AMPERSAND;
   2204 	YY_BREAK
   2205 case 220:
   2206 YY_RULE_SETUP
   2207 #line 287 "./config/bfin-lex.l"
   2208 return PERCENT;
   2209 	YY_BREAK
   2210 case 221:
   2211 YY_RULE_SETUP
   2212 #line 288 "./config/bfin-lex.l"
   2213 return BANG;
   2214 	YY_BREAK
   2215 case 222:
   2216 YY_RULE_SETUP
   2217 #line 289 "./config/bfin-lex.l"
   2218 return SEMICOLON;
   2219 	YY_BREAK
   2220 case 223:
   2221 YY_RULE_SETUP
   2222 #line 290 "./config/bfin-lex.l"
   2223 return DOUBLE_BAR;
   2224 	YY_BREAK
   2225 case 224:
   2226 YY_RULE_SETUP
   2227 #line 291 "./config/bfin-lex.l"
   2228 return AT;
   2229 	YY_BREAK
   2230 case 225:
   2231 YY_RULE_SETUP
   2232 #line 292 "./config/bfin-lex.l"
   2233 return PREFETCH;
   2234 	YY_BREAK
   2235 case 226:
   2236 YY_RULE_SETUP
   2237 #line 293 "./config/bfin-lex.l"
   2238 return UNLINK;
   2239 	YY_BREAK
   2240 case 227:
   2241 YY_RULE_SETUP
   2242 #line 294 "./config/bfin-lex.l"
   2243 return LINK;
   2244 	YY_BREAK
   2245 case 228:
   2246 YY_RULE_SETUP
   2247 #line 295 "./config/bfin-lex.l"
   2248 return IDLE;
   2249 	YY_BREAK
   2250 case 229:
   2251 YY_RULE_SETUP
   2252 #line 296 "./config/bfin-lex.l"
   2253 return IFLUSH;
   2254 	YY_BREAK
   2255 case 230:
   2256 YY_RULE_SETUP
   2257 #line 297 "./config/bfin-lex.l"
   2258 return FLUSHINV;
   2259 	YY_BREAK
   2260 case 231:
   2261 YY_RULE_SETUP
   2262 #line 298 "./config/bfin-lex.l"
   2263 return FLUSH;
   2264 	YY_BREAK
   2265 case 232:
   2266 YY_RULE_SETUP
   2267 #line 299 "./config/bfin-lex.l"
   2268 {
   2269     yylval.value = parse_int (&yytext);
   2270     return NUMBER;
   2271   }
   2272 	YY_BREAK
   2273 case 233:
   2274 YY_RULE_SETUP
   2275 #line 303 "./config/bfin-lex.l"
   2276 {
   2277     yylval.symbol = symbol_find_or_make (yytext);
   2278     symbol_mark_used (yylval.symbol);
   2279     return SYMBOL;
   2280   }
   2281 	YY_BREAK
   2282 case 234:
   2283 YY_RULE_SETUP
   2284 #line 308 "./config/bfin-lex.l"
   2285 {
   2286     char *name;
   2287     char *ref = strdup (yytext);
   2288     if (ref[1] == 'b' || ref[1] == 'B')
   2289       {
   2290         name = fb_label_name (ref[0] - '0', 0);
   2291 	yylval.symbol = symbol_find (name);
   2292 
   2293 	if ((yylval.symbol != NULL)
   2294              && (S_IS_DEFINED (yylval.symbol)))
   2295           return SYMBOL;
   2296 	as_bad ("backward reference to unknown label %d:",
   2297 						  (int) (ref[0] - '0'));
   2298       }
   2299     else if (ref[1] == 'f' || ref[1] == 'F')
   2300       {
   2301         /* Forward reference.  Expect symbol to be undefined or
   2302            unknown.  undefined: seen it before.  unknown: never seen
   2303            it before.
   2304 
   2305            Construct a local label name, then an undefined symbol.
   2306            Just return it as never seen before.  */
   2307 
   2308         name = fb_label_name (ref[0] - '0', 1);
   2309 	yylval.symbol = symbol_find_or_make (name);
   2310 	/* We have no need to check symbol properties.  */
   2311 	return SYMBOL;
   2312       }
   2313   }
   2314 	YY_BREAK
   2315 case 235:
   2316 /* rule 235 can match eol */
   2317 YY_RULE_SETUP
   2318 #line 337 "./config/bfin-lex.l"
   2319 ;
   2320 	YY_BREAK
   2321 case 236:
   2322 YY_RULE_SETUP
   2323 #line 338 "./config/bfin-lex.l"
   2324 ;
   2325 	YY_BREAK
   2326 case 237:
   2327 YY_RULE_SETUP
   2328 #line 339 "./config/bfin-lex.l"
   2329 return yytext[0];
   2330 	YY_BREAK
   2331 case 238:
   2332 YY_RULE_SETUP
   2333 #line 340 "./config/bfin-lex.l"
   2334 ECHO;
   2335 	YY_BREAK
   2336 #line 2336 "config/bfin-lex.c"
   2337 case YY_STATE_EOF(INITIAL):
   2338 case YY_STATE_EOF(KEYWORD):
   2339 case YY_STATE_EOF(FLAGS):
   2340 	yyterminate();
   2341 
   2342 	case YY_END_OF_BUFFER:
   2343 		{
   2344 		/* Amount of text matched not including the EOB char. */
   2345 		int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
   2346 
   2347 		/* Undo the effects of YY_DO_BEFORE_ACTION. */
   2348 		*yy_cp = (yy_hold_char);
   2349 		YY_RESTORE_YY_MORE_OFFSET
   2350 
   2351 		if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
   2352 			{
   2353 			/* We're scanning a new file or input source.  It's
   2354 			 * possible that this happened because the user
   2355 			 * just pointed yyin at a new source and called
   2356 			 * yylex().  If so, then we have to assure
   2357 			 * consistency between YY_CURRENT_BUFFER and our
   2358 			 * globals.  Here is the right place to do so, because
   2359 			 * this is the first action (other than possibly a
   2360 			 * back-up) that will match for the new input source.
   2361 			 */
   2362 			(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
   2363 			YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
   2364 			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
   2365 			}
   2366 
   2367 		/* Note that here we test for yy_c_buf_p "<=" to the position
   2368 		 * of the first EOB in the buffer, since yy_c_buf_p will
   2369 		 * already have been incremented past the NUL character
   2370 		 * (since all states make transitions on EOB to the
   2371 		 * end-of-buffer state).  Contrast this with the test
   2372 		 * in input().
   2373 		 */
   2374 		if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
   2375 			{ /* This was really a NUL. */
   2376 			yy_state_type yy_next_state;
   2377 
   2378 			(yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
   2379 
   2380 			yy_current_state = yy_get_previous_state(  );
   2381 
   2382 			/* Okay, we're now positioned to make the NUL
   2383 			 * transition.  We couldn't have
   2384 			 * yy_get_previous_state() go ahead and do it
   2385 			 * for us because it doesn't know how to deal
   2386 			 * with the possibility of jamming (and we don't
   2387 			 * want to build jamming into it because then it
   2388 			 * will run more slowly).
   2389 			 */
   2390 
   2391 			yy_next_state = yy_try_NUL_trans( yy_current_state );
   2392 
   2393 			yy_bp = (yytext_ptr) + YY_MORE_ADJ;
   2394 
   2395 			if ( yy_next_state )
   2396 				{
   2397 				/* Consume the NUL. */
   2398 				yy_cp = ++(yy_c_buf_p);
   2399 				yy_current_state = yy_next_state;
   2400 				goto yy_match;
   2401 				}
   2402 
   2403 			else
   2404 				{
   2405 				yy_cp = (yy_c_buf_p);
   2406 				goto yy_find_action;
   2407 				}
   2408 			}
   2409 
   2410 		else switch ( yy_get_next_buffer(  ) )
   2411 			{
   2412 			case EOB_ACT_END_OF_FILE:
   2413 				{
   2414 				(yy_did_buffer_switch_on_eof) = 0;
   2415 
   2416 				if ( yywrap(  ) )
   2417 					{
   2418 					/* Note: because we've taken care in
   2419 					 * yy_get_next_buffer() to have set up
   2420 					 * yytext, we can now set up
   2421 					 * yy_c_buf_p so that if some total
   2422 					 * hoser (like flex itself) wants to
   2423 					 * call the scanner after we return the
   2424 					 * YY_NULL, it'll still work - another
   2425 					 * YY_NULL will get returned.
   2426 					 */
   2427 					(yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
   2428 
   2429 					yy_act = YY_STATE_EOF(YY_START);
   2430 					goto do_action;
   2431 					}
   2432 
   2433 				else
   2434 					{
   2435 					if ( ! (yy_did_buffer_switch_on_eof) )
   2436 						YY_NEW_FILE;
   2437 					}
   2438 				break;
   2439 				}
   2440 
   2441 			case EOB_ACT_CONTINUE_SCAN:
   2442 				(yy_c_buf_p) =
   2443 					(yytext_ptr) + yy_amount_of_matched_text;
   2444 
   2445 				yy_current_state = yy_get_previous_state(  );
   2446 
   2447 				yy_cp = (yy_c_buf_p);
   2448 				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
   2449 				goto yy_match;
   2450 
   2451 			case EOB_ACT_LAST_MATCH:
   2452 				(yy_c_buf_p) =
   2453 				&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
   2454 
   2455 				yy_current_state = yy_get_previous_state(  );
   2456 
   2457 				yy_cp = (yy_c_buf_p);
   2458 				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
   2459 				goto yy_find_action;
   2460 			}
   2461 		break;
   2462 		}
   2463 
   2464 	default:
   2465 		YY_FATAL_ERROR(
   2466 			"fatal flex scanner internal error--no action found" );
   2467 	} /* end of action switch */
   2468 		} /* end of scanning one token */
   2469 	} /* end of user's declarations */
   2470 } /* end of yylex */
   2471 
   2472 /* yy_get_next_buffer - try to read in a new buffer
   2473  *
   2474  * Returns a code representing an action:
   2475  *	EOB_ACT_LAST_MATCH -
   2476  *	EOB_ACT_CONTINUE_SCAN - continue scanning from current position
   2477  *	EOB_ACT_END_OF_FILE - end of file
   2478  */
   2479 static int yy_get_next_buffer (void)
   2480 {
   2481     	char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
   2482 	char *source = (yytext_ptr);
   2483 	int number_to_move, i;
   2484 	int ret_val;
   2485 
   2486 	if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
   2487 		YY_FATAL_ERROR(
   2488 		"fatal flex scanner internal error--end of buffer missed" );
   2489 
   2490 	if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
   2491 		{ /* Don't try to fill the buffer, so this is an EOF. */
   2492 		if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
   2493 			{
   2494 			/* We matched a single character, the EOB, so
   2495 			 * treat this as a final EOF.
   2496 			 */
   2497 			return EOB_ACT_END_OF_FILE;
   2498 			}
   2499 
   2500 		else
   2501 			{
   2502 			/* We matched some text prior to the EOB, first
   2503 			 * process it.
   2504 			 */
   2505 			return EOB_ACT_LAST_MATCH;
   2506 			}
   2507 		}
   2508 
   2509 	/* Try to read more data. */
   2510 
   2511 	/* First move last chars to start of buffer. */
   2512 	number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr) - 1);
   2513 
   2514 	for ( i = 0; i < number_to_move; ++i )
   2515 		*(dest++) = *(source++);
   2516 
   2517 	if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
   2518 		/* don't do the read, it's not guaranteed to return an EOF,
   2519 		 * just force an EOF
   2520 		 */
   2521 		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
   2522 
   2523 	else
   2524 		{
   2525 			int num_to_read =
   2526 			YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
   2527 
   2528 		while ( num_to_read <= 0 )
   2529 			{ /* Not enough room in the buffer - grow it. */
   2530 
   2531 			/* just a shorter name for the current buffer */
   2532 			YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
   2533 
   2534 			int yy_c_buf_p_offset =
   2535 				(int) ((yy_c_buf_p) - b->yy_ch_buf);
   2536 
   2537 			if ( b->yy_is_our_buffer )
   2538 				{
   2539 				int new_size = b->yy_buf_size * 2;
   2540 
   2541 				if ( new_size <= 0 )
   2542 					b->yy_buf_size += b->yy_buf_size / 8;
   2543 				else
   2544 					b->yy_buf_size *= 2;
   2545 
   2546 				b->yy_ch_buf = (char *)
   2547 					/* Include room in for 2 EOB chars. */
   2548 					yyrealloc( (void *) b->yy_ch_buf,
   2549 							 (yy_size_t) (b->yy_buf_size + 2)  );
   2550 				}
   2551 			else
   2552 				/* Can't grow it, we don't own it. */
   2553 				b->yy_ch_buf = NULL;
   2554 
   2555 			if ( ! b->yy_ch_buf )
   2556 				YY_FATAL_ERROR(
   2557 				"fatal error - scanner input buffer overflow" );
   2558 
   2559 			(yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
   2560 
   2561 			num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
   2562 						number_to_move - 1;
   2563 
   2564 			}
   2565 
   2566 		if ( num_to_read > YY_READ_BUF_SIZE )
   2567 			num_to_read = YY_READ_BUF_SIZE;
   2568 
   2569 		/* Read in more data. */
   2570 		YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
   2571 			(yy_n_chars), num_to_read );
   2572 
   2573 		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
   2574 		}
   2575 
   2576 	if ( (yy_n_chars) == 0 )
   2577 		{
   2578 		if ( number_to_move == YY_MORE_ADJ )
   2579 			{
   2580 			ret_val = EOB_ACT_END_OF_FILE;
   2581 			yyrestart( yyin  );
   2582 			}
   2583 
   2584 		else
   2585 			{
   2586 			ret_val = EOB_ACT_LAST_MATCH;
   2587 			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
   2588 				YY_BUFFER_EOF_PENDING;
   2589 			}
   2590 		}
   2591 
   2592 	else
   2593 		ret_val = EOB_ACT_CONTINUE_SCAN;
   2594 
   2595 	if (((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
   2596 		/* Extend the array by 50%, plus the number we really need. */
   2597 		int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
   2598 		YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc(
   2599 			(void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, (yy_size_t) new_size  );
   2600 		if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
   2601 			YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
   2602 		/* "- 2" to take care of EOB's */
   2603 		YY_CURRENT_BUFFER_LVALUE->yy_buf_size = (int) (new_size - 2);
   2604 	}
   2605 
   2606 	(yy_n_chars) += number_to_move;
   2607 	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
   2608 	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
   2609 
   2610 	(yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
   2611 
   2612 	return ret_val;
   2613 }
   2614 
   2615 /* yy_get_previous_state - get the state just before the EOB char was reached */
   2616 
   2617     static yy_state_type yy_get_previous_state (void)
   2618 {
   2619 	yy_state_type yy_current_state;
   2620 	char *yy_cp;
   2621 
   2622 	yy_current_state = (yy_start);
   2623 
   2624 	for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
   2625 		{
   2626 		YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
   2627 		if ( yy_accept[yy_current_state] )
   2628 			{
   2629 			(yy_last_accepting_state) = yy_current_state;
   2630 			(yy_last_accepting_cpos) = yy_cp;
   2631 			}
   2632 		while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
   2633 			{
   2634 			yy_current_state = (int) yy_def[yy_current_state];
   2635 			if ( yy_current_state >= 570 )
   2636 				yy_c = yy_meta[yy_c];
   2637 			}
   2638 		yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
   2639 		}
   2640 
   2641 	return yy_current_state;
   2642 }
   2643 
   2644 /* yy_try_NUL_trans - try to make a transition on the NUL character
   2645  *
   2646  * synopsis
   2647  *	next_state = yy_try_NUL_trans( current_state );
   2648  */
   2649     static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state )
   2650 {
   2651 	int yy_is_jam;
   2652     	char *yy_cp = (yy_c_buf_p);
   2653 
   2654 	YY_CHAR yy_c = 1;
   2655 	if ( yy_accept[yy_current_state] )
   2656 		{
   2657 		(yy_last_accepting_state) = yy_current_state;
   2658 		(yy_last_accepting_cpos) = yy_cp;
   2659 		}
   2660 	while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
   2661 		{
   2662 		yy_current_state = (int) yy_def[yy_current_state];
   2663 		if ( yy_current_state >= 570 )
   2664 			yy_c = yy_meta[yy_c];
   2665 		}
   2666 	yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
   2667 	yy_is_jam = (yy_current_state == 569);
   2668 
   2669 		return yy_is_jam ? 0 : yy_current_state;
   2670 }
   2671 
   2672 #ifndef YY_NO_UNPUT
   2673 
   2674     static void yyunput (int c, char * yy_bp )
   2675 {
   2676 	char *yy_cp;
   2677 
   2678     yy_cp = (yy_c_buf_p);
   2679 
   2680 	/* undo effects of setting up yytext */
   2681 	*yy_cp = (yy_hold_char);
   2682 
   2683 	if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
   2684 		{ /* need to shift things up to make room */
   2685 		/* +2 for EOB chars. */
   2686 		int number_to_move = (yy_n_chars) + 2;
   2687 		char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
   2688 					YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
   2689 		char *source =
   2690 				&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
   2691 
   2692 		while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
   2693 			*--dest = *--source;
   2694 
   2695 		yy_cp += (int) (dest - source);
   2696 		yy_bp += (int) (dest - source);
   2697 		YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
   2698 			(yy_n_chars) = (int) YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
   2699 
   2700 		if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
   2701 			YY_FATAL_ERROR( "flex scanner push-back overflow" );
   2702 		}
   2703 
   2704 	*--yy_cp = (char) c;
   2705 
   2706 	(yytext_ptr) = yy_bp;
   2707 	(yy_hold_char) = *yy_cp;
   2708 	(yy_c_buf_p) = yy_cp;
   2709 }
   2710 
   2711 #endif
   2712 
   2713 #ifndef YY_NO_INPUT
   2714 #ifdef __cplusplus
   2715     static int yyinput (void)
   2716 #else
   2717     static int input  (void)
   2718 #endif
   2719 
   2720 {
   2721 	int c;
   2722 
   2723 	*(yy_c_buf_p) = (yy_hold_char);
   2724 
   2725 	if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
   2726 		{
   2727 		/* yy_c_buf_p now points to the character we want to return.
   2728 		 * If this occurs *before* the EOB characters, then it's a
   2729 		 * valid NUL; if not, then we've hit the end of the buffer.
   2730 		 */
   2731 		if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
   2732 			/* This was really a NUL. */
   2733 			*(yy_c_buf_p) = '\0';
   2734 
   2735 		else
   2736 			{ /* need more input */
   2737 			int offset = (int) ((yy_c_buf_p) - (yytext_ptr));
   2738 			++(yy_c_buf_p);
   2739 
   2740 			switch ( yy_get_next_buffer(  ) )
   2741 				{
   2742 				case EOB_ACT_LAST_MATCH:
   2743 					/* This happens because yy_g_n_b()
   2744 					 * sees that we've accumulated a
   2745 					 * token and flags that we need to
   2746 					 * try matching the token before
   2747 					 * proceeding.  But for input(),
   2748 					 * there's no matching to consider.
   2749 					 * So convert the EOB_ACT_LAST_MATCH
   2750 					 * to EOB_ACT_END_OF_FILE.
   2751 					 */
   2752 
   2753 					/* Reset buffer status. */
   2754 					yyrestart( yyin );
   2755 
   2756 					/*FALLTHROUGH*/
   2757 
   2758 				case EOB_ACT_END_OF_FILE:
   2759 					{
   2760 					if ( yywrap(  ) )
   2761 						return 0;
   2762 
   2763 					if ( ! (yy_did_buffer_switch_on_eof) )
   2764 						YY_NEW_FILE;
   2765 #ifdef __cplusplus
   2766 					return yyinput();
   2767 #else
   2768 					return input();
   2769 #endif
   2770 					}
   2771 
   2772 				case EOB_ACT_CONTINUE_SCAN:
   2773 					(yy_c_buf_p) = (yytext_ptr) + offset;
   2774 					break;
   2775 				}
   2776 			}
   2777 		}
   2778 
   2779 	c = *(unsigned char *) (yy_c_buf_p);	/* cast for 8-bit char's */
   2780 	*(yy_c_buf_p) = '\0';	/* preserve yytext */
   2781 	(yy_hold_char) = *++(yy_c_buf_p);
   2782 
   2783 	return c;
   2784 }
   2785 #endif	/* ifndef YY_NO_INPUT */
   2786 
   2787 /** Immediately switch to a different input stream.
   2788  * @param input_file A readable stream.
   2789  *
   2790  * @note This function does not reset the start condition to @c INITIAL .
   2791  */
   2792     void yyrestart  (FILE * input_file )
   2793 {
   2794 
   2795 	if ( ! YY_CURRENT_BUFFER ){
   2796         yyensure_buffer_stack ();
   2797 		YY_CURRENT_BUFFER_LVALUE =
   2798             yy_create_buffer( yyin, YY_BUF_SIZE );
   2799 	}
   2800 
   2801 	yy_init_buffer( YY_CURRENT_BUFFER, input_file );
   2802 	yy_load_buffer_state(  );
   2803 }
   2804 
   2805 /** Switch to a different input buffer.
   2806  * @param new_buffer The new input buffer.
   2807  *
   2808  */
   2809     void yy_switch_to_buffer  (YY_BUFFER_STATE  new_buffer )
   2810 {
   2811 
   2812 	/* TODO. We should be able to replace this entire function body
   2813 	 * with
   2814 	 *		yypop_buffer_state();
   2815 	 *		yypush_buffer_state(new_buffer);
   2816      */
   2817 	yyensure_buffer_stack ();
   2818 	if ( YY_CURRENT_BUFFER == new_buffer )
   2819 		return;
   2820 
   2821 	if ( YY_CURRENT_BUFFER )
   2822 		{
   2823 		/* Flush out information for old buffer. */
   2824 		*(yy_c_buf_p) = (yy_hold_char);
   2825 		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
   2826 		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
   2827 		}
   2828 
   2829 	YY_CURRENT_BUFFER_LVALUE = new_buffer;
   2830 	yy_load_buffer_state(  );
   2831 
   2832 	/* We don't actually know whether we did this switch during
   2833 	 * EOF (yywrap()) processing, but the only time this flag
   2834 	 * is looked at is after yywrap() is called, so it's safe
   2835 	 * to go ahead and always set it.
   2836 	 */
   2837 	(yy_did_buffer_switch_on_eof) = 1;
   2838 }
   2839 
   2840 static void yy_load_buffer_state  (void)
   2841 {
   2842     	(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
   2843 	(yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
   2844 	yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
   2845 	(yy_hold_char) = *(yy_c_buf_p);
   2846 }
   2847 
   2848 /** Allocate and initialize an input buffer state.
   2849  * @param file A readable stream.
   2850  * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
   2851  *
   2852  * @return the allocated buffer state.
   2853  */
   2854     YY_BUFFER_STATE yy_create_buffer  (FILE * file, int  size )
   2855 {
   2856 	YY_BUFFER_STATE b;
   2857 
   2858 	b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state )  );
   2859 	if ( ! b )
   2860 		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
   2861 
   2862 	b->yy_buf_size = size;
   2863 
   2864 	/* yy_ch_buf has to be 2 characters longer than the size given because
   2865 	 * we need to put in 2 end-of-buffer characters.
   2866 	 */
   2867 	b->yy_ch_buf = (char *) yyalloc( (yy_size_t) (b->yy_buf_size + 2)  );
   2868 	if ( ! b->yy_ch_buf )
   2869 		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
   2870 
   2871 	b->yy_is_our_buffer = 1;
   2872 
   2873 	yy_init_buffer( b, file );
   2874 
   2875 	return b;
   2876 }
   2877 
   2878 /** Destroy the buffer.
   2879  * @param b a buffer created with yy_create_buffer()
   2880  *
   2881  */
   2882     void yy_delete_buffer (YY_BUFFER_STATE  b )
   2883 {
   2884 
   2885 	if ( ! b )
   2886 		return;
   2887 
   2888 	if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
   2889 		YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
   2890 
   2891 	if ( b->yy_is_our_buffer )
   2892 		yyfree( (void *) b->yy_ch_buf  );
   2893 
   2894 	yyfree( (void *) b  );
   2895 }
   2896 
   2897 /* Initializes or reinitializes a buffer.
   2898  * This function is sometimes called more than once on the same buffer,
   2899  * such as during a yyrestart() or at EOF.
   2900  */
   2901     static void yy_init_buffer  (YY_BUFFER_STATE  b, FILE * file )
   2902 
   2903 {
   2904 	int oerrno = errno;
   2905 
   2906 	yy_flush_buffer( b );
   2907 
   2908 	b->yy_input_file = file;
   2909 	b->yy_fill_buffer = 1;
   2910 
   2911     /* If b is the current buffer, then yy_init_buffer was _probably_
   2912      * called from yyrestart() or through yy_get_next_buffer.
   2913      * In that case, we don't want to reset the lineno or column.
   2914      */
   2915     if (b != YY_CURRENT_BUFFER){
   2916         b->yy_bs_lineno = 1;
   2917         b->yy_bs_column = 0;
   2918     }
   2919 
   2920         b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
   2921 
   2922 	errno = oerrno;
   2923 }
   2924 
   2925 /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
   2926  * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
   2927  *
   2928  */
   2929     void yy_flush_buffer (YY_BUFFER_STATE  b )
   2930 {
   2931     	if ( ! b )
   2932 		return;
   2933 
   2934 	b->yy_n_chars = 0;
   2935 
   2936 	/* We always need two end-of-buffer characters.  The first causes
   2937 	 * a transition to the end-of-buffer state.  The second causes
   2938 	 * a jam in that state.
   2939 	 */
   2940 	b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
   2941 	b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
   2942 
   2943 	b->yy_buf_pos = &b->yy_ch_buf[0];
   2944 
   2945 	b->yy_at_bol = 1;
   2946 	b->yy_buffer_status = YY_BUFFER_NEW;
   2947 
   2948 	if ( b == YY_CURRENT_BUFFER )
   2949 		yy_load_buffer_state(  );
   2950 }
   2951 
   2952 /** Pushes the new state onto the stack. The new state becomes
   2953  *  the current state. This function will allocate the stack
   2954  *  if necessary.
   2955  *  @param new_buffer The new state.
   2956  *
   2957  */
   2958 void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
   2959 {
   2960     	if (new_buffer == NULL)
   2961 		return;
   2962 
   2963 	yyensure_buffer_stack();
   2964 
   2965 	/* This block is copied from yy_switch_to_buffer. */
   2966 	if ( YY_CURRENT_BUFFER )
   2967 		{
   2968 		/* Flush out information for old buffer. */
   2969 		*(yy_c_buf_p) = (yy_hold_char);
   2970 		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
   2971 		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
   2972 		}
   2973 
   2974 	/* Only push if top exists. Otherwise, replace top. */
   2975 	if (YY_CURRENT_BUFFER)
   2976 		(yy_buffer_stack_top)++;
   2977 	YY_CURRENT_BUFFER_LVALUE = new_buffer;
   2978 
   2979 	/* copied from yy_switch_to_buffer. */
   2980 	yy_load_buffer_state(  );
   2981 	(yy_did_buffer_switch_on_eof) = 1;
   2982 }
   2983 
   2984 /** Removes and deletes the top of the stack, if present.
   2985  *  The next element becomes the new top.
   2986  *
   2987  */
   2988 void yypop_buffer_state (void)
   2989 {
   2990     	if (!YY_CURRENT_BUFFER)
   2991 		return;
   2992 
   2993 	yy_delete_buffer(YY_CURRENT_BUFFER );
   2994 	YY_CURRENT_BUFFER_LVALUE = NULL;
   2995 	if ((yy_buffer_stack_top) > 0)
   2996 		--(yy_buffer_stack_top);
   2997 
   2998 	if (YY_CURRENT_BUFFER) {
   2999 		yy_load_buffer_state(  );
   3000 		(yy_did_buffer_switch_on_eof) = 1;
   3001 	}
   3002 }
   3003 
   3004 /* Allocates the stack if it does not exist.
   3005  *  Guarantees space for at least one push.
   3006  */
   3007 static void yyensure_buffer_stack (void)
   3008 {
   3009 	yy_size_t num_to_alloc;
   3010 
   3011 	if (!(yy_buffer_stack)) {
   3012 
   3013 		/* First allocation is just for 2 elements, since we don't know if this
   3014 		 * scanner will even need a stack. We use 2 instead of 1 to avoid an
   3015 		 * immediate realloc on the next call.
   3016          */
   3017       num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */
   3018 		(yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
   3019 								(num_to_alloc * sizeof(struct yy_buffer_state*)
   3020 								);
   3021 		if ( ! (yy_buffer_stack) )
   3022 			YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
   3023 
   3024 		memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
   3025 
   3026 		(yy_buffer_stack_max) = num_to_alloc;
   3027 		(yy_buffer_stack_top) = 0;
   3028 		return;
   3029 	}
   3030 
   3031 	if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
   3032 
   3033 		/* Increase the buffer to prepare for a possible push. */
   3034 		yy_size_t grow_size = 8 /* arbitrary grow size */;
   3035 
   3036 		num_to_alloc = (yy_buffer_stack_max) + grow_size;
   3037 		(yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
   3038 								((yy_buffer_stack),
   3039 								num_to_alloc * sizeof(struct yy_buffer_state*)
   3040 								);
   3041 		if ( ! (yy_buffer_stack) )
   3042 			YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
   3043 
   3044 		/* zero only the new slots.*/
   3045 		memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
   3046 		(yy_buffer_stack_max) = num_to_alloc;
   3047 	}
   3048 }
   3049 
   3050 /** Setup the input buffer state to scan directly from a user-specified character buffer.
   3051  * @param base the character buffer
   3052  * @param size the size in bytes of the character buffer
   3053  *
   3054  * @return the newly allocated buffer state object.
   3055  */
   3056 YY_BUFFER_STATE yy_scan_buffer  (char * base, yy_size_t  size )
   3057 {
   3058 	YY_BUFFER_STATE b;
   3059 
   3060 	if ( size < 2 ||
   3061 	     base[size-2] != YY_END_OF_BUFFER_CHAR ||
   3062 	     base[size-1] != YY_END_OF_BUFFER_CHAR )
   3063 		/* They forgot to leave room for the EOB's. */
   3064 		return NULL;
   3065 
   3066 	b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state )  );
   3067 	if ( ! b )
   3068 		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
   3069 
   3070 	b->yy_buf_size = (int) (size - 2);	/* "- 2" to take care of EOB's */
   3071 	b->yy_buf_pos = b->yy_ch_buf = base;
   3072 	b->yy_is_our_buffer = 0;
   3073 	b->yy_input_file = NULL;
   3074 	b->yy_n_chars = b->yy_buf_size;
   3075 	b->yy_is_interactive = 0;
   3076 	b->yy_at_bol = 1;
   3077 	b->yy_fill_buffer = 0;
   3078 	b->yy_buffer_status = YY_BUFFER_NEW;
   3079 
   3080 	yy_switch_to_buffer( b  );
   3081 
   3082 	return b;
   3083 }
   3084 
   3085 /** Setup the input buffer state to scan a string. The next call to yylex() will
   3086  * scan from a @e copy of @a str.
   3087  * @param yystr a NUL-terminated string to scan
   3088  *
   3089  * @return the newly allocated buffer state object.
   3090  * @note If you want to scan bytes that may contain NUL values, then use
   3091  *       yy_scan_bytes() instead.
   3092  */
   3093 YY_BUFFER_STATE yy_scan_string (const char * yystr )
   3094 {
   3095 
   3096 	return yy_scan_bytes( yystr, (int) strlen(yystr) );
   3097 }
   3098 
   3099 /** Setup the input buffer state to scan the given bytes. The next call to yylex() will
   3100  * scan from a @e copy of @a bytes.
   3101  * @param yybytes the byte buffer to scan
   3102  * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
   3103  *
   3104  * @return the newly allocated buffer state object.
   3105  */
   3106 YY_BUFFER_STATE yy_scan_bytes  (const char * yybytes, int  _yybytes_len )
   3107 {
   3108 	YY_BUFFER_STATE b;
   3109 	char *buf;
   3110 	yy_size_t n;
   3111 	int i;
   3112 
   3113 	/* Get memory for full buffer, including space for trailing EOB's. */
   3114 	n = (yy_size_t) (_yybytes_len + 2);
   3115 	buf = (char *) yyalloc( n  );
   3116 	if ( ! buf )
   3117 		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
   3118 
   3119 	for ( i = 0; i < _yybytes_len; ++i )
   3120 		buf[i] = yybytes[i];
   3121 
   3122 	buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
   3123 
   3124 	b = yy_scan_buffer( buf, n );
   3125 	if ( ! b )
   3126 		YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
   3127 
   3128 	/* It's okay to grow etc. this buffer, and we should throw it
   3129 	 * away when we're done.
   3130 	 */
   3131 	b->yy_is_our_buffer = 1;
   3132 
   3133 	return b;
   3134 }
   3135 
   3136 #ifndef YY_EXIT_FAILURE
   3137 #define YY_EXIT_FAILURE 2
   3138 #endif
   3139 
   3140 static void yynoreturn yy_fatal_error (const char* msg )
   3141 {
   3142 			fprintf( stderr, "%s\n", msg );
   3143 	exit( YY_EXIT_FAILURE );
   3144 }
   3145 
   3146 /* Redefine yyless() so it works in section 3 code. */
   3147 
   3148 #undef yyless
   3149 #define yyless(n) \
   3150 	do \
   3151 		{ \
   3152 		/* Undo effects of setting up yytext. */ \
   3153         int yyless_macro_arg = (n); \
   3154         YY_LESS_LINENO(yyless_macro_arg);\
   3155 		yytext[yyleng] = (yy_hold_char); \
   3156 		(yy_c_buf_p) = yytext + yyless_macro_arg; \
   3157 		(yy_hold_char) = *(yy_c_buf_p); \
   3158 		*(yy_c_buf_p) = '\0'; \
   3159 		yyleng = yyless_macro_arg; \
   3160 		} \
   3161 	while ( 0 )
   3162 
   3163 /* Accessor  methods (get/set functions) to struct members. */
   3164 
   3165 /** Get the current line number.
   3166  *
   3167  */
   3168 int yyget_lineno  (void)
   3169 {
   3170 
   3171     return yylineno;
   3172 }
   3173 
   3174 /** Get the input stream.
   3175  *
   3176  */
   3177 FILE *yyget_in  (void)
   3178 {
   3179         return yyin;
   3180 }
   3181 
   3182 /** Get the output stream.
   3183  *
   3184  */
   3185 FILE *yyget_out  (void)
   3186 {
   3187         return yyout;
   3188 }
   3189 
   3190 /** Get the length of the current token.
   3191  *
   3192  */
   3193 int yyget_leng  (void)
   3194 {
   3195         return yyleng;
   3196 }
   3197 
   3198 /** Get the current token.
   3199  *
   3200  */
   3201 
   3202 char *yyget_text  (void)
   3203 {
   3204         return yytext;
   3205 }
   3206 
   3207 /** Set the current line number.
   3208  * @param _line_number line number
   3209  *
   3210  */
   3211 void yyset_lineno (int  _line_number )
   3212 {
   3213 
   3214     yylineno = _line_number;
   3215 }
   3216 
   3217 /** Set the input stream. This does not discard the current
   3218  * input buffer.
   3219  * @param _in_str A readable stream.
   3220  *
   3221  * @see yy_switch_to_buffer
   3222  */
   3223 void yyset_in (FILE *  _in_str )
   3224 {
   3225         yyin = _in_str ;
   3226 }
   3227 
   3228 void yyset_out (FILE *  _out_str )
   3229 {
   3230         yyout = _out_str ;
   3231 }
   3232 
   3233 int yyget_debug  (void)
   3234 {
   3235         return yy_flex_debug;
   3236 }
   3237 
   3238 void yyset_debug (int  _bdebug )
   3239 {
   3240         yy_flex_debug = _bdebug ;
   3241 }
   3242 
   3243 static int yy_init_globals (void)
   3244 {
   3245         /* Initialization is the same as for the non-reentrant scanner.
   3246      * This function is called from yylex_destroy(), so don't allocate here.
   3247      */
   3248 
   3249     (yy_buffer_stack) = NULL;
   3250     (yy_buffer_stack_top) = 0;
   3251     (yy_buffer_stack_max) = 0;
   3252     (yy_c_buf_p) = NULL;
   3253     (yy_init) = 0;
   3254     (yy_start) = 0;
   3255 
   3256 /* Defined in main.c */
   3257 #ifdef YY_STDINIT
   3258     yyin = stdin;
   3259     yyout = stdout;
   3260 #else
   3261     yyin = NULL;
   3262     yyout = NULL;
   3263 #endif
   3264 
   3265     /* For future reference: Set errno on error, since we are called by
   3266      * yylex_init()
   3267      */
   3268     return 0;
   3269 }
   3270 
   3271 /* yylex_destroy is for both reentrant and non-reentrant scanners. */
   3272 int yylex_destroy  (void)
   3273 {
   3274 
   3275     /* Pop the buffer stack, destroying each element. */
   3276 	while(YY_CURRENT_BUFFER){
   3277 		yy_delete_buffer( YY_CURRENT_BUFFER  );
   3278 		YY_CURRENT_BUFFER_LVALUE = NULL;
   3279 		yypop_buffer_state();
   3280 	}
   3281 
   3282 	/* Destroy the stack itself. */
   3283 	yyfree((yy_buffer_stack) );
   3284 	(yy_buffer_stack) = NULL;
   3285 
   3286     /* Reset the globals. This is important in a non-reentrant scanner so the next time
   3287      * yylex() is called, initialization will occur. */
   3288     yy_init_globals( );
   3289 
   3290     return 0;
   3291 }
   3292 
   3293 /*
   3294  * Internal utility routines.
   3295  */
   3296 
   3297 #ifndef yytext_ptr
   3298 static void yy_flex_strncpy (char* s1, const char * s2, int n )
   3299 {
   3300 
   3301 	int i;
   3302 	for ( i = 0; i < n; ++i )
   3303 		s1[i] = s2[i];
   3304 }
   3305 #endif
   3306 
   3307 #ifdef YY_NEED_STRLEN
   3308 static int yy_flex_strlen (const char * s )
   3309 {
   3310 	int n;
   3311 	for ( n = 0; s[n]; ++n )
   3312 		;
   3313 
   3314 	return n;
   3315 }
   3316 #endif
   3317 
   3318 void *yyalloc (yy_size_t  size )
   3319 {
   3320 			return malloc(size);
   3321 }
   3322 
   3323 void *yyrealloc  (void * ptr, yy_size_t  size )
   3324 {
   3325 
   3326 	/* The cast to (char *) in the following accommodates both
   3327 	 * implementations that use char* generic pointers, and those
   3328 	 * that use void* generic pointers.  It works with the latter
   3329 	 * because both ANSI C and C++ allow castless assignment from
   3330 	 * any pointer type to void*, and deal with argument conversions
   3331 	 * as though doing an assignment.
   3332 	 */
   3333 	return realloc(ptr, size);
   3334 }
   3335 
   3336 void yyfree (void * ptr )
   3337 {
   3338 			free( (char *) ptr );	/* see yyrealloc() for (char *) cast */
   3339 }
   3340 
   3341 #define YYTABLES_NAME "yytables"
   3342 
   3343 #line 340 "./config/bfin-lex.l"
   3344 
   3345 static long parse_int (char **end)
   3346 {
   3347   char fmt = '\0';
   3348   int not_done = 1;
   3349   int shiftvalue = 0;
   3350   const char *char_bag;
   3351   unsigned long value = 0;
   3352   char *arg = *end;
   3353 
   3354   while (*arg && *arg == ' ')
   3355     arg++;
   3356 
   3357   switch (*arg)
   3358     {
   3359       case '1':
   3360       case '2':
   3361       case '3':
   3362       case '4':
   3363       case '5':
   3364       case '6':
   3365       case '7':
   3366       case '8':
   3367       case '9':
   3368         fmt = 'd';
   3369         break;
   3370 
   3371       case '0':  /* Accept different formatted integers hex octal and binary. */
   3372         {
   3373 	  char c = *++arg;
   3374           arg++;
   3375 	  if (c == 'x' || c == 'X') /* Hex input.  */
   3376 	    fmt = 'h';
   3377 	  else if (c == 'b' || c == 'B')
   3378 	    fmt = 'b';
   3379 	  else if (c == '.')
   3380 	    fmt = 'f';
   3381 	  else
   3382             {             /* Octal.  */
   3383 	      arg--;
   3384 	      fmt = 'o';
   3385 	    }
   3386 	  break;
   3387         }
   3388 
   3389       case 'd':
   3390       case 'D':
   3391       case 'h':
   3392       case 'H':
   3393       case 'o':
   3394       case 'O':
   3395       case 'b':
   3396       case 'B':
   3397       case 'f':
   3398       case 'F':
   3399         {
   3400 	  fmt = *arg++;
   3401 	  if (*arg == '#')
   3402 	    arg++;
   3403         }
   3404     }
   3405 
   3406   switch (fmt)
   3407     {
   3408       case 'h':
   3409       case 'H':
   3410         shiftvalue = 4;
   3411         char_bag = "0123456789ABCDEFabcdef";
   3412         break;
   3413 
   3414       case 'o':
   3415       case 'O':
   3416         shiftvalue = 3;
   3417         char_bag = "01234567";
   3418         break;
   3419 
   3420       case 'b':
   3421       case 'B':
   3422         shiftvalue = 1;
   3423         char_bag = "01";
   3424         break;
   3425 
   3426 /* The assembler allows for fractional constants to be created
   3427    by either the 0.xxxx or the f#xxxx format
   3428 
   3429    i.e.   0.5 would result in 0x4000
   3430 
   3431    note .5 would result in the identifier .5.
   3432 
   3433    The assembler converts to fractional format 1.15 by the simple rule:
   3434 
   3435              value = (short) (finput * (1 << 15)).  */
   3436 
   3437       case 'f':
   3438       case 'F':
   3439         {
   3440           float fval = 0.0;
   3441           float pos = 10.0;
   3442           while (1)
   3443             {
   3444               int c;
   3445               c = *arg++;
   3446 
   3447               if (c >= '0' && c <= '9')
   3448                 {
   3449                   float digit = (c - '0') / pos;
   3450                   fval = fval + digit;
   3451                   pos = pos * 10.0;
   3452                 }
   3453               else
   3454                 {
   3455 	          *--arg = c;
   3456                   value = (short) (fval * (1 << 15));
   3457                   break;
   3458                 }
   3459             }
   3460           *end = arg+1;
   3461           return value;
   3462         }
   3463 
   3464       case 'd':
   3465       case 'D':
   3466       default:
   3467         {
   3468           while (1)
   3469             {
   3470               char c;
   3471               c = *arg++;
   3472               if (c >= '0' && c <= '9')
   3473                 value = (value * 10) + (c - '0');
   3474               else
   3475                 {
   3476                   /* Constants that are suffixed with k|K are multiplied by 1024
   3477                      This suffix is only allowed on decimal constants. */
   3478                   if (c == 'k' || c == 'K')
   3479                     value *= 1024;
   3480                   else
   3481                     *--arg = c;
   3482                   break;
   3483                 }
   3484             }
   3485           *end = arg+1;
   3486           return value;
   3487         }
   3488     }
   3489 
   3490   while (not_done)
   3491     {
   3492       char c;
   3493       c = *arg++;
   3494       if (c == 0 || !strchr (char_bag, c))
   3495 	{
   3496           not_done = 0;
   3497           *--arg = c;
   3498         }
   3499       else
   3500         {
   3501           if (c >= 'a' && c <= 'z')
   3502             c = c - ('a' - '9') + 1;
   3503           else if (c >= 'A' && c <= 'Z')
   3504             c = c - ('A' - '9') + 1;
   3505 
   3506           c -= '0';
   3507           value = (value << shiftvalue) + c;
   3508         }
   3509     }
   3510   *end = arg+1;
   3511   return value;
   3512 }
   3513 
   3514 
   3515 static int parse_reg (Register *r, int cl, char *rt)
   3516 {
   3517   r->regno = cl | (rt[1] - '0');
   3518   r->flags = F_REG_NONE;
   3519   return REG;
   3520 }
   3521 
   3522 static int parse_halfreg (Register *r, int cl, char *rt)
   3523 {
   3524   r->regno = cl | (rt[1] - '0');
   3525 
   3526   switch (rt[3])
   3527     {
   3528       case 'b':
   3529       case 'B':
   3530 	return BYTE_DREG;
   3531 
   3532       case 'l':
   3533       case 'L':
   3534 	r->flags = F_REG_LOW;
   3535 	break;
   3536 
   3537       case 'h':
   3538       case 'H':
   3539 	r->flags = F_REG_HIGH;
   3540 	break;
   3541     }
   3542 
   3543   return HALF_REG;
   3544 }
   3545 
   3546 /* Our start state is KEYWORD as we have
   3547    command keywords such as PREFETCH.  */
   3548 
   3549 void
   3550 set_start_state (void)
   3551 {
   3552   BEGIN KEYWORD;
   3553 }
   3554 
   3555