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