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