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