]> oss.titaniummirror.com Git - msp430-binutils.git/blobdiff - gas/bfin-lex.c
Imported binutils-2.20
[msp430-binutils.git] / gas / bfin-lex.c
index 0490ade6ed8f2f13d32161e24a0a90f9c2d27bbb..f6d2f418ccd5c9874bf778d3959ab61b6fa0e51b 100644 (file)
@@ -8,7 +8,7 @@
 #define FLEX_SCANNER
 #define YY_FLEX_MAJOR_VERSION 2
 #define YY_FLEX_MINOR_VERSION 5
 #define FLEX_SCANNER
 #define YY_FLEX_MAJOR_VERSION 2
 #define YY_FLEX_MINOR_VERSION 5
-#define YY_FLEX_SUBMINOR_VERSION 33
+#define YY_FLEX_SUBMINOR_VERSION 35
 #if YY_FLEX_SUBMINOR_VERSION > 0
 #define FLEX_BETA
 #endif
 #if YY_FLEX_SUBMINOR_VERSION > 0
 #define FLEX_BETA
 #endif
@@ -30,7 +30,7 @@
 
 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
 
 
 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
 
-#if __STDC_VERSION__ >= 199901L
+#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
 
 /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
  * if you want the limit (max/min) macros for int types. 
 
 /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
  * if you want the limit (max/min) macros for int types. 
@@ -93,11 +93,12 @@ typedef unsigned int flex_uint32_t;
 
 #else  /* ! __cplusplus */
 
 
 #else  /* ! __cplusplus */
 
-#if __STDC__
+/* C99 requires __STDC__ to be defined as 1. */
+#if defined (__STDC__)
 
 #define YY_USE_CONST
 
 
 #define YY_USE_CONST
 
-#endif /* __STDC__ */
+#endif /* defined (__STDC__) */
 #endif /* ! __cplusplus */
 
 #ifdef YY_USE_CONST
 #endif /* ! __cplusplus */
 
 #ifdef YY_USE_CONST
@@ -151,7 +152,12 @@ typedef unsigned int flex_uint32_t;
 typedef struct yy_buffer_state *YY_BUFFER_STATE;
 #endif
 
 typedef struct yy_buffer_state *YY_BUFFER_STATE;
 #endif
 
-extern int yyleng;
+#ifndef YY_TYPEDEF_YY_SIZE_T
+#define YY_TYPEDEF_YY_SIZE_T
+typedef size_t yy_size_t;
+#endif
+
+extern yy_size_t yyleng;
 
 extern FILE *yyin, *yyout;
 
 
 extern FILE *yyin, *yyout;
 
@@ -177,16 +183,6 @@ extern FILE *yyin, *yyout;
 
 #define unput(c) yyunput( c, (yytext_ptr)  )
 
 
 #define unput(c) yyunput( c, (yytext_ptr)  )
 
-/* The following is because we cannot portably get our hands on size_t
- * (without autoconf's help, which isn't available because we want
- * flex-generated scanners to compile on their own).
- */
-
-#ifndef YY_TYPEDEF_YY_SIZE_T
-#define YY_TYPEDEF_YY_SIZE_T
-typedef unsigned int yy_size_t;
-#endif
-
 #ifndef YY_STRUCT_YY_BUFFER_STATE
 #define YY_STRUCT_YY_BUFFER_STATE
 struct yy_buffer_state
 #ifndef YY_STRUCT_YY_BUFFER_STATE
 #define YY_STRUCT_YY_BUFFER_STATE
 struct yy_buffer_state
@@ -204,7 +200,7 @@ struct yy_buffer_state
        /* Number of characters read into yy_ch_buf, not including EOB
         * characters.
         */
        /* Number of characters read into yy_ch_buf, not including EOB
         * characters.
         */
-       int yy_n_chars;
+       yy_size_t yy_n_chars;
 
        /* Whether we "own" the buffer - i.e., we know we created it,
         * and can realloc() it to grow it, and should free() it to
 
        /* Whether we "own" the buffer - i.e., we know we created it,
         * and can realloc() it to grow it, and should free() it to
@@ -274,8 +270,8 @@ static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
 
 /* yy_hold_char holds the character lost when yytext is formed. */
 static char yy_hold_char;
 
 /* yy_hold_char holds the character lost when yytext is formed. */
 static char yy_hold_char;
-static int yy_n_chars;         /* number of characters read into yy_ch_buf */
-int yyleng;
+static yy_size_t yy_n_chars;           /* number of characters read into yy_ch_buf */
+yy_size_t yyleng;
 
 /* Points to current character in buffer. */
 static char *yy_c_buf_p = (char *) 0;
 
 /* Points to current character in buffer. */
 static char *yy_c_buf_p = (char *) 0;
@@ -303,7 +299,7 @@ static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file  );
 
 YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size  );
 YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str  );
 
 YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size  );
 YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str  );
-YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,int len  );
+YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,yy_size_t len  );
 
 void *yyalloc (yy_size_t  );
 void *yyrealloc (void *,yy_size_t  );
 
 void *yyalloc (yy_size_t  );
 void *yyrealloc (void *,yy_size_t  );
@@ -363,8 +359,8 @@ static void yy_fatal_error (yyconst char msg[]  );
        *yy_cp = '\0'; \
        (yy_c_buf_p) = yy_cp;
 
        *yy_cp = '\0'; \
        (yy_c_buf_p) = yy_cp;
 
-#define YY_NUM_RULES 238
-#define YY_END_OF_BUFFER 239
+#define YY_NUM_RULES 237
+#define YY_END_OF_BUFFER 238
 /* This struct is not used in this scanner,
    but its presence is necessary. */
 struct yy_trans_info
 /* This struct is not used in this scanner,
    but its presence is necessary. */
 struct yy_trans_info
@@ -372,69 +368,69 @@ struct yy_trans_info
        flex_int32_t yy_verify;
        flex_int32_t yy_nxt;
        };
        flex_int32_t yy_verify;
        flex_int32_t yy_nxt;
        };
-static yyconst flex_int16_t yy_accept[559] =
+static yyconst flex_int16_t yy_accept[555] =
     {   0,
     {   0,
-        0,    0,    0,    0,  239,  237,  235,  235,  220,  233,
-      219,  218,  200,  201,  216,  214,  211,  210,  203,  232,
-      232,  202,  221,  199,  195,  237,  224,  233,  148,  233,
-      233,  233,  233,  233,  233,  233,  233,  233,   70,  233,
-      233,  233,   54,   19,   18,  233,   12,   10,    8,    7,
-      189,  188,  187,  233,  185,  183,  233,  233,  233,  233,
-      233,  233,  217,  215,  213,  212,    0,  209,  204,    0,
-        0,    0,  232,  234,    0,  232,  234,  198,  196,  222,
-      194,  193,  178,  175,  233,  233,  233,  150,  151,  233,
-      233,  149,    0,  147,  233,  140,  233,  233,  136,  233,
-
-      125,  233,  123,  233,  233,  233,  233,  233,  233,  233,
-      103,  102,  101,  233,  100,   99,  233,  233,   97,  233,
-       95,   94,   93,   91,  233,   85,  233,  233,   77,   86,
-      233,   71,   69,  233,  233,  233,  233,   65,  233,  233,
-      233,   59,  233,   56,  233,  233,   53,  233,  233,  233,
-      233,  233,  233,  233,  233,  233,  233,  233,  233,   25,
-      233,  233,  233,  233,  233,   15,   14,  233,  233,  159,
-      233,  186,  233,  184,  223,  233,  233,   95,  233,  233,
-      233,  205,  207,  206,  208,    0,    0,  232,  232,  232,
-      232,  197,  191,  192,  233,  233,  171,  152,  153,  233,
-
-      233,  162,  163,  233,  154,  156,  232,  233,  233,  233,
-      233,  233,  233,  124,  233,  233,  119,  233,  233,  233,
-      233,  233,  233,  233,  233,  233,  179,   98,  233,  233,
-      233,  233,  233,  233,   80,   83,   78,   81,  233,  233,
-      233,   79,   82,  233,   67,   66,  233,   63,   62,  233,
-      233,  233,  233,  233,  233,  233,  233,  233,  233,   44,
-       39,   38,   37,   36,   35,   34,  233,   32,   31,  233,
-      233,  233,  233,  233,  233,  233,   21,  233,  233,   16,
-       13,  233,    9,  233,  233,  233,  233,  233,  233,  233,
-      236,  190,  170,  168,  177,  176,  169,  167,  174,  173,
-
-      233,  233,  233,  155,  157,  146,  233,  233,  233,  233,
-      139,  138,  233,  127,  233,  233,  118,  233,  233,  233,
-      233,  111,  110,  233,  233,  233,  233,  233,  233,  233,
-      105,  104,  233,  233,  233,   96,  233,   92,   89,   84,
-       74,  233,  233,   68,   64,  233,   61,   60,   58,   57,
-      233,   55,   45,  233,   50,   47,   49,   46,   48,  233,
-      233,   43,   42,  233,  233,  233,  233,  233,   27,   24,
-       23,  233,  233,  233,  233,  233,  233,  228,  233,  227,
-      233,  233,  233,  233,  160,  233,  233,  233,  233,  233,
-      233,  233,  233,  233,  233,  122,  233,  117,  116,  233,
-
-      233,  233,  233,  233,  233,  233,  233,  108,  233,  233,
-      233,  233,  233,  233,  233,  233,  233,  233,    2,  182,
-       52,   41,   40,   33,  233,  233,  233,   30,  233,   22,
-      233,  233,  233,  172,  231,  233,  233,  233,  233,  233,
-      164,  161,  145,  144,  143,  142,  141,  233,  233,  233,
-      233,  126,  121,  233,  233,  233,  233,  233,   51,  233,
-      233,  107,  233,  233,  233,  233,  233,   88,   87,   90,
-      233,  233,   73,   72,   29,  233,  233,  233,   20,  233,
-      233,  233,  229,  233,  226,  165,  166,  233,  233,  233,
-      233,  233,  233,  120,  233,  114,  113,  233,  233,  233,
-
-        5,  106,  233,  180,  233,  233,  233,  233,   28,  233,
-      233,   17,   11,  233,  233,  233,  233,  135,  133,  134,
-      132,  129,  233,  115,  233,    6,  109,  233,  233,    3,
-      233,   76,    1,   26,  230,  225,  137,  130,  131,  233,
-      233,  233,  233,  233,  128,  233,  233,    4,   75,  233,
-      233,  112,  233,  233,  233,  233,  181,    0
+        0,    0,    0,    0,  238,  236,  234,  234,  219,  232,
+      218,  217,  199,  200,  215,  213,  210,  209,  202,  231,
+      231,  201,  220,  198,  194,  236,  223,  232,  148,  232,
+      232,  232,  232,  232,  232,  232,  232,  232,   70,  232,
+      232,  232,   54,   19,   18,  232,   12,   10,    8,    7,
+      188,  187,  186,  232,  184,  182,  232,  232,  232,  232,
+      232,  232,  216,  214,  212,  211,    0,  208,  203,    0,
+        0,    0,  231,  233,    0,  197,  195,  221,  193,  192,
+      177,  174,  232,  232,  232,  150,  151,  232,  232,  149,
+        0,  147,  232,  140,  232,  232,  136,  232,  125,  232,
+
+      123,  232,  232,  232,  232,  232,  232,  232,  103,  102,
+      101,  232,  100,   99,  232,  232,   97,  232,   95,   94,
+       93,   91,  232,   85,  232,  232,   77,   86,  232,   71,
+       69,  232,  232,  232,  232,   65,  232,  232,  232,   59,
+      232,   56,  232,  232,   53,  232,  232,  232,  232,  232,
+      232,  232,  232,  232,  232,  232,  232,   25,  232,  232,
+      232,  232,  232,   15,   14,  232,  232,  158,  232,  185,
+      232,  183,  222,  232,  232,   95,  232,  232,  232,  204,
+      206,  205,  207,    0,    0,  231,  231,  196,  190,  191,
+      232,  232,  170,  152,  153,  232,  232,  161,  162,  232,
+
+      154,  156,  231,  232,  232,  232,  232,  232,  232,  124,
+      232,  232,  119,  232,  232,  232,  232,  232,  232,  232,
+      232,  232,  178,   98,  232,  232,  232,  232,  232,  232,
+       80,   83,   78,   81,  232,  232,  232,   79,   82,  232,
+       67,   66,  232,   63,   62,  232,  232,  232,  232,  232,
+      232,  232,  232,  232,  232,   44,   39,   38,   37,   36,
+       35,   34,  232,   32,   31,  232,  232,  232,  232,  232,
+      232,  232,   21,  232,  232,   16,   13,  232,    9,  232,
+      232,  232,  232,  232,  232,  232,  235,  189,  169,  167,
+      176,  175,  168,  166,  173,  172,  232,  232,  232,  155,
+
+      157,  146,  232,  232,  232,  232,  139,  138,  232,  127,
+      232,  232,  118,  232,  232,  232,  232,  111,  110,  232,
+      232,  232,  232,  232,  232,  232,  105,  104,  232,  232,
+      232,   96,  232,   92,   89,   84,   74,  232,  232,   68,
+       64,  232,   61,   60,   58,   57,  232,   55,   45,  232,
+       50,   47,   49,   46,   48,  232,  232,   43,   42,  232,
+      232,  232,  232,  232,   27,   24,   23,  232,  232,  232,
+      232,  232,  232,  227,  232,  226,  232,  232,  232,  232,
+      159,  232,  232,  232,  232,  232,  232,  232,  232,  232,
+      232,  122,  232,  117,  116,  232,  232,  232,  232,  232,
+
+      232,  232,  232,  108,  232,  232,  232,  232,  232,  232,
+      232,  232,  232,  232,    2,  181,   52,   41,   40,   33,
+      232,  232,  232,   30,  232,   22,  232,  232,  232,  171,
+      230,  232,  232,  232,  232,  232,  163,  160,  145,  144,
+      143,  142,  141,  232,  232,  232,  232,  126,  121,  232,
+      232,  232,  232,  232,   51,  232,  232,  107,  232,  232,
+      232,  232,  232,   88,   87,   90,  232,  232,   73,   72,
+       29,  232,  232,  232,   20,  232,  232,  232,  228,  232,
+      225,  164,  165,  232,  232,  232,  232,  232,  232,  120,
+      232,  114,  113,  232,  232,  232,    5,  106,  232,  179,
+
+      232,  232,  232,  232,   28,  232,  232,   17,   11,  232,
+      232,  232,  232,  135,  133,  134,  132,  129,  232,  115,
+      232,    6,  109,  232,  232,    3,  232,   76,    1,   26,
+      229,  224,  137,  130,  131,  232,  232,  232,  232,  232,
+      128,  232,  232,    4,   75,  232,  232,  112,  232,  232,
+      232,  232,  180,    0
     } ;
 
 static yyconst flex_int32_t yy_ec[256] =
     } ;
 
 static yyconst flex_int32_t yy_ec[256] =
@@ -472,147 +468,145 @@ static yyconst flex_int32_t yy_ec[256] =
 static yyconst flex_int32_t yy_meta[70] =
     {   0,
         1,    1,    2,    1,    1,    3,    1,    1,    1,    1,
 static yyconst flex_int32_t yy_meta[70] =
     {   0,
         1,    1,    2,    1,    1,    3,    1,    1,    1,    1,
-        1,    1,    1,    1,    3,    1,    4,    4,    4,    4,
-        4,    4,    4,    4,    4,    4,    1,    1,    1,    1,
-        1,    1,    5,    4,    5,    5,    5,    4,    3,    3,
+        1,    1,    1,    1,    4,    1,    5,    5,    5,    5,
+        5,    5,    5,    5,    5,    5,    1,    1,    1,    1,
+        1,    1,    6,    5,    6,    6,    6,    5,    3,    3,
         3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
         3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
-        3,    3,    3,    3,    3,    3,    3,    3,    1,    1,
-        1,    3,    5,    4,    3,    3,    3,    1,    1
+        3,    3,    3,    3,    3,    4,    3,    3,    1,    1,
+        1,    3,    6,    5,    3,    3,    3,    1,    1
     } ;
 
     } ;
 
-static yyconst flex_int16_t yy_base[565] =
+static yyconst flex_int16_t yy_base[560] =
     {   0,
     {   0,
-        0,    0,   32,   33,  814,  815,  815,  815,  815,    0,
-      815,  783,  815,  815,  782,   60,  815,   61,  800,  113,
-       44,  815,  815,   54,   75,  779,  815,  161,  221,   59,
-       84,   42,   92,  105,  109,  148,  756,  271,  141,   48,
-      110,  322,  372,  421,  153,  757,   60,  787,    0,    0,
-      815,  815,  776,  741,   58,  815,  141,   64,  763,   43,
-       61,    0,  815,  815,  815,  815,  105,  815,  815,  129,
-      792,  210,  225,  235,  472,  275,  815,  772,  815,  815,
-      815,  145,  786,  785,  748,  163,  757,    0,    0,  263,
-      185,    0,    0,  782,  131,    0,  759,   97,  154,  751,
-
-        0,  753,    0,  736,  757,  752,  742,   69,  736,  279,
-      773,  741,    0,  156,    0,    0,  157,  749,  770,  740,
-        0,    0,  732,    0,  737,  766,  196,  199,    0,  153,
-      226,  247,  765,  723,  732,  220,  280,    0,  221,  740,
-      170,  761,  740,    0,  250,  728,  758,  731,  252,  735,
-      257,  308,  260,  248,  269,  288,  281,  729,  730,  753,
-      710,  725,  714,  713,  710,    0,    0,  714,  298,    0,
-      742,  815,  219,  815,  815,  707,  715,  714,  711,  174,
-      712,  815,  815,  815,  815,  744,  138,  356,  408,    0,
-        0,  815,  815,  724,  312,  343,    0,    0,    0,  714,
-
-      711,    0,    0,  249,  700,  699,    0,  232,  369,  695,
-      303,  711,  703,    0,  700,  701,  375,  337,  337,  122,
-      238,  338,  378,  347,  239,  709,  725,    0,  356,  318,
-      705,  722,  692,  363,    0,    0,    0,    0,  691,  390,
-      697,    0,    0,  372,    0,    0,  689,    0,    0,  700,
-      684,  699,  403,  690,  684,  393,  436,  680,  474,  431,
-        0,    0,    0,    0,    0,    0,  684,    0,    0,  398,
-      678,  401,  690,  681,  437,  680,    0,  690,  401,    0,
-        0,  662,    0,  657,  671,  684,  667,  676,  680,  676,
-      705,  815,    0,    0,    0,    0,    0,    0,    0,    0,
-
-      669,  676,  434,    0,    0,    0,  669,  659,  674,  448,
-        0,  659,  466,  694,  673,  670,  439,  661,  411,  654,
-      660,    0,    0,  419,  422,  647,  649,  450,  665,  470,
-        0,    0,  664,  675,  462,    0,  636,    0,  682,    0,
-      634,  642,  656,    0,    0,  656,    0,    0,    0,    0,
-      657,    0,    0,  654,    0,    0,    0,    0,    0,  671,
-      672,    0,    0,  652,  652,  470,  649,  471,  470,    0,
-        0,  650,  646,  632,  637,  614,  640,  617,  627,    0,
-      640,  630,  521,  474,    0,  466,  619,  475,  630,  477,
-      633,  624,  485,  625,  614,    0,  618,    0,    0,  620,
-
-      623,  625,  626,  611,  491,  628,  611,    0,  619,  625,
-      622,  613,  622,  495,  503,  487,  608,  497,    0,    0,
-        0,    0,    0,    0,  615,  517,  603,    0,  612,    0,
-      613,  614,  519,    0,  609,  609,  501,  605,  624,  625,
-        0,    0,    0,    0,    0,    0,    0,  604,  537,  609,
-      595,    0,  623,  597,  508,  510,  594,  588,    0,  590,
-      600,    0,  511,  585,  614,  532,  597,    0,    0,    0,
-      596,  586,    0,    0,    0,  514,  594,  517,    0,  518,
-      574,  583,    0,  593,    0,    0,    0,  589,  544,  315,
-      578,  582,  538,    0,  568,    0,    0,  586,  578,  520,
-
-        0,    0,  575,    0,  551,  554,  563,  564,    0,  521,
-      548,    0,    0,  543,  556,  522,  418,    0,    0,    0,
-        0,    0,  558,    0,  535,    0,    0,  524,  528,    0,
-      424,    0,    0,    0,    0,    0,    0,    0,    0,  403,
-      388,  378,  324,  279,    0,  272,  529,    0,    0,  531,
-      538,    0,  262,  168,   82,   83,    0,  815,  603,  608,
-       92,  613,  615,  617
+        0,    0,   32,   33,  758,  759,  759,  759,  759,    0,
+      759,  727,  759,  759,  726,   60,  759,   61,  744,   63,
+       68,  759,  759,   58,   75,  723,  759,  116,  176,   60,
+       79,   44,   87,   89,   98,  165,  700,  226,  158,   47,
+      113,  277,  327,  376,  108,  701,   58,  731,    0,    0,
+      759,  759,  720,  685,  100,  759,  144,   72,  707,   65,
+      118,    0,  759,  759,  759,  759,  143,  759,  759,  149,
+      736,  189,  230,  759,    0,  716,  759,  759,  759,   91,
+      730,  729,  692,  120,  701,    0,    0,  218,  154,    0,
+        0,  726,  135,    0,  703,   49,  167,  695,    0,  697,
+
+        0,  680,  701,  696,  686,   93,  680,  234,  717,  685,
+        0,  168,    0,    0,  170,  693,  714,  684,    0,    0,
+      676,    0,  681,  710,  172,  210,    0,  176,  199,  212,
+      709,  667,  676,  210,  235,    0,  224,  684,  173,  705,
+      684,    0,  207,  672,  702,  675,  212,  679,  213,  263,
+      222,  243,  258,  259,  214,  673,  674,  697,  654,  669,
+      658,  657,  654,    0,    0,  658,  251,    0,  686,  759,
+      135,  759,  759,  651,  659,  658,  655,  270,  656,  759,
+      759,  759,  759,  688,  304,  311,    0,  759,  759,  668,
+      298,  312,    0,    0,    0,  658,  655,    0,    0,  278,
+
+      644,  643,    0,  273,  320,  639,  309,  655,  647,    0,
+      644,  645,  343,  292,  325,  275,  326,  333,  336,  320,
+      340,  653,  669,    0,  327,  345,  649,  666,  636,  357,
+        0,    0,    0,    0,  635,  348,  641,    0,    0,  358,
+        0,    0,  633,    0,    0,  644,  628,  643,  363,  634,
+      628,  352,  378,  624,  384,  413,    0,    0,    0,    0,
+        0,    0,  628,    0,    0,  360,  622,  370,  634,  625,
+      394,  624,    0,  634,  356,    0,    0,  606,    0,  601,
+      615,  628,  611,  620,  624,  620,  649,  759,    0,    0,
+        0,    0,    0,    0,    0,    0,  613,  620,  377,    0,
+
+        0,    0,  613,  603,  618,  398,    0,  603,  398,  638,
+      617,  614,  408,  605,  408,  598,  604,    0,    0,  414,
+      417,  591,  593,  402,  609,  422,    0,    0,  608,  619,
+      406,    0,  580,    0,  626,    0,  578,  586,  600,    0,
+        0,  600,    0,    0,    0,    0,  601,    0,    0,  598,
+        0,    0,    0,    0,    0,  615,  616,    0,    0,  596,
+      596,  406,  593,  407,  426,    0,    0,  594,  590,  576,
+      581,  558,  584,  561,  571,    0,  584,  574,  443,  412,
+        0,  415,  563,  415,  574,  424,  577,  568,  433,  569,
+      558,    0,  562,    0,    0,  564,  567,  569,  570,  555,
+
+      426,  572,  555,    0,  563,  569,  566,  557,  566,  420,
+      443,  455,  552,  431,    0,    0,    0,    0,    0,    0,
+      559,  442,  547,    0,  556,    0,  557,  558,  451,    0,
+      553,  553,  436,  549,  568,  569,    0,    0,    0,    0,
+        0,    0,    0,  548,  482,  553,  539,    0,  567,  541,
+      443,  445,  538,  532,    0,  534,  544,    0,  454,  529,
+      558,  471,  541,    0,    0,    0,  540,  530,    0,    0,
+        0,  455,  538,  456,    0,  457,  518,  527,    0,  537,
+        0,    0,    0,  533,  150,  468,  522,  526,  478,    0,
+      512,    0,    0,  530,  529,  463,    0,    0,  530,    0,
+
+      511,  514,  523,  525,    0,  465,  501,    0,    0,  489,
+      500,  466,  480,    0,    0,    0,    0,    0,  504,    0,
+      481,    0,    0,  474,  484,    0,  490,    0,    0,    0,
+        0,    0,    0,    0,    0,  483,  370,  352,  345,  279,
+        0,  219,  473,    0,    0,  475,  477,    0,  220,  207,
+      134,   61,    0,  759,  542,  545,  550,  552,  554
     } ;
 
     } ;
 
-static yyconst flex_int16_t yy_def[565] =
+static yyconst flex_int16_t yy_def[560] =
     {   0,
     {   0,
-      558,    1,    1,    1,  558,  558,  558,  558,  558,  559,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  560,
-      561,  558,  558,  558,  558,  558,  558,  559,  559,  559,
-      559,  559,  559,  559,  559,  559,  559,  559,  559,  559,
-      559,  559,  559,  559,  559,  559,  559,  559,  559,  559,
-      558,  558,  558,   28,  558,  558,  559,   36,   38,   42,
-      559,  559,  558,  558,  558,  558,  558,  558,  558,  558,
-      562,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  559,  559,  559,  559,  559,  559,  559,  559,
-      559,  559,  563,  559,  559,  559,  559,  559,  559,  559,
-
-      559,  559,  559,  559,  559,  559,  559,  559,  559,  559,
-      559,  559,  559,  559,  559,  559,  559,  559,  559,  559,
-      559,  559,  559,  559,  559,  559,  559,  559,  559,  559,
-      559,  559,  559,  559,  559,  559,  559,  559,  559,  559,
-      559,  559,  559,  559,  559,  559,  559,  559,  559,  559,
-      559,  559,  559,  559,  559,  559,  559,  559,  559,  559,
-      559,  559,  559,  559,  559,  559,  559,  559,  559,  559,
-      559,  558,  559,  558,  558,  559,  559,  559,  559,  559,
-      559,  558,  558,  558,  558,  562,  562,  558,  558,   75,
-      564,  558,  558,  558,  559,  559,  559,  559,  559,  559,
-
-      559,  559,  559,  559,  559,  559,  563,  559,  559,  559,
-      559,  559,  559,  559,  559,  559,  559,  559,  559,  559,
-      559,  559,  559,  559,  559,  559,  559,  559,  559,  559,
-      559,  559,  559,  559,  559,  559,  559,  559,  559,  559,
-      559,  559,  559,  559,  559,  559,  559,  559,  559,  559,
-      559,  559,  559,  559,  559,  559,  559,  559,  559,  559,
-      559,  559,  559,  559,  559,  559,  559,  559,  559,  559,
-      559,  559,  559,  559,  559,  559,  559,  559,  559,  559,
-      559,  559,  559,  559,  559,  559,  559,  559,  559,  559,
-      562,  558,  559,  559,  559,  559,  559,  559,  559,  559,
-
-      559,  559,  559,  559,  559,  559,  559,  559,  559,  559,
-      559,  559,  559,  559,  559,  559,  559,  559,  559,  559,
-      559,  559,  559,  559,  559,  559,  559,  559,  559,  559,
-      559,  559,  559,  559,  559,  559,  559,  559,  559,  559,
-      559,  559,  559,  559,  559,  559,  559,  559,  559,  559,
-      559,  559,  559,  559,  559,  559,  559,  559,  559,  559,
-      559,  559,  559,  559,  559,  559,  559,  559,  559,  559,
-      559,  559,  559,  559,  559,  559,  559,  559,  559,  559,
-      559,  559,  559,  559,  559,  559,  559,  559,  559,  559,
-      559,  559,  559,  559,  559,  559,  559,  559,  559,  559,
-
-      559,  559,  559,  559,  559,  559,  559,  559,  559,  559,
-      559,  559,  559,  559,  559,  559,  559,  559,  559,  559,
-      559,  559,  559,  559,  559,  559,  559,  559,  559,  559,
-      559,  559,  559,  559,  559,  559,  559,  559,  559,  559,
-      559,  559,  559,  559,  559,  559,  559,  559,  559,  559,
-      559,  559,  559,  559,  559,  559,  559,  559,  559,  559,
-      559,  559,  559,  559,  559,  559,  559,  559,  559,  559,
-      559,  559,  559,  559,  559,  559,  559,  559,  559,  559,
-      559,  559,  559,  559,  559,  559,  559,  559,  559,  559,
-      559,  559,  559,  559,  559,  559,  559,  559,  559,  559,
-
-      559,  559,  559,  559,  559,  559,  559,  559,  559,  559,
-      559,  559,  559,  559,  559,  559,  559,  559,  559,  559,
-      559,  559,  559,  559,  559,  559,  559,  559,  559,  559,
-      559,  559,  559,  559,  559,  559,  559,  559,  559,  559,
-      559,  559,  559,  559,  559,  559,  559,  559,  559,  559,
-      559,  559,  559,  559,  559,  559,  559,    0,  558,  558,
-      558,  558,  558,  558
+      554,    1,    1,    1,  554,  554,  554,  554,  554,  555,
+      554,  554,  554,  554,  554,  554,  554,  554,  554,  556,
+      556,  554,  554,  554,  554,  554,  554,  555,  555,  555,
+      555,  555,  555,  555,  555,  555,  555,  555,  555,  555,
+      555,  555,  555,  555,  555,  555,  555,  555,  555,  555,
+      554,  554,  554,   28,  554,  554,  555,   36,   38,   42,
+      555,  555,  554,  554,  554,  554,  554,  554,  554,  554,
+      557,  554,  554,  554,  558,  554,  554,  554,  554,  554,
+      555,  555,  555,  555,  555,  555,  555,  555,  555,  555,
+      559,  555,  555,  555,  555,  555,  555,  555,  555,  555,
+
+      555,  555,  555,  555,  555,  555,  555,  555,  555,  555,
+      555,  555,  555,  555,  555,  555,  555,  555,  555,  555,
+      555,  555,  555,  555,  555,  555,  555,  555,  555,  555,
+      555,  555,  555,  555,  555,  555,  555,  555,  555,  555,
+      555,  555,  555,  555,  555,  555,  555,  555,  555,  555,
+      555,  555,  555,  555,  555,  555,  555,  555,  555,  555,
+      555,  555,  555,  555,  555,  555,  555,  555,  555,  554,
+      555,  554,  554,  555,  555,  555,  555,  555,  555,  554,
+      554,  554,  554,  557,  557,  554,  558,  554,  554,  554,
+      555,  555,  555,  555,  555,  555,  555,  555,  555,  555,
+
+      555,  555,  559,  555,  555,  555,  555,  555,  555,  555,
+      555,  555,  555,  555,  555,  555,  555,  555,  555,  555,
+      555,  555,  555,  555,  555,  555,  555,  555,  555,  555,
+      555,  555,  555,  555,  555,  555,  555,  555,  555,  555,
+      555,  555,  555,  555,  555,  555,  555,  555,  555,  555,
+      555,  555,  555,  555,  555,  555,  555,  555,  555,  555,
+      555,  555,  555,  555,  555,  555,  555,  555,  555,  555,
+      555,  555,  555,  555,  555,  555,  555,  555,  555,  555,
+      555,  555,  555,  555,  555,  555,  557,  554,  555,  555,
+      555,  555,  555,  555,  555,  555,  555,  555,  555,  555,
+
+      555,  555,  555,  555,  555,  555,  555,  555,  555,  555,
+      555,  555,  555,  555,  555,  555,  555,  555,  555,  555,
+      555,  555,  555,  555,  555,  555,  555,  555,  555,  555,
+      555,  555,  555,  555,  555,  555,  555,  555,  555,  555,
+      555,  555,  555,  555,  555,  555,  555,  555,  555,  555,
+      555,  555,  555,  555,  555,  555,  555,  555,  555,  555,
+      555,  555,  555,  555,  555,  555,  555,  555,  555,  555,
+      555,  555,  555,  555,  555,  555,  555,  555,  555,  555,
+      555,  555,  555,  555,  555,  555,  555,  555,  555,  555,
+      555,  555,  555,  555,  555,  555,  555,  555,  555,  555,
+
+      555,  555,  555,  555,  555,  555,  555,  555,  555,  555,
+      555,  555,  555,  555,  555,  555,  555,  555,  555,  555,
+      555,  555,  555,  555,  555,  555,  555,  555,  555,  555,
+      555,  555,  555,  555,  555,  555,  555,  555,  555,  555,
+      555,  555,  555,  555,  555,  555,  555,  555,  555,  555,
+      555,  555,  555,  555,  555,  555,  555,  555,  555,  555,
+      555,  555,  555,  555,  555,  555,  555,  555,  555,  555,
+      555,  555,  555,  555,  555,  555,  555,  555,  555,  555,
+      555,  555,  555,  555,  555,  555,  555,  555,  555,  555,
+      555,  555,  555,  555,  555,  555,  555,  555,  555,  555,
+
+      555,  555,  555,  555,  555,  555,  555,  555,  555,  555,
+      555,  555,  555,  555,  555,  555,  555,  555,  555,  555,
+      555,  555,  555,  555,  555,  555,  555,  555,  555,  555,
+      555,  555,  555,  555,  555,  555,  555,  555,  555,  555,
+      555,  555,  555,  555,  555,  555,  555,  555,  555,  555,
+      555,  555,  555,    0,  554,  554,  554,  554,  554
     } ;
 
     } ;
 
-static yyconst flex_int16_t yy_nxt[885] =
+static yyconst flex_int16_t yy_nxt[829] =
     {   0,
         6,    7,    8,    9,    6,   10,   11,   12,   13,   14,
        15,   16,   17,   18,   10,   19,   20,   21,   21,   21,
     {   0,
         6,    7,    8,    9,    6,   10,   11,   12,   13,   14,
        15,   16,   17,   18,   10,   19,   20,   21,   21,   21,
@@ -621,99 +615,93 @@ static yyconst flex_int16_t yy_nxt[885] =
        36,   37,   10,   38,   39,   40,   41,   42,   10,   43,
        44,   45,   46,   47,   48,   49,   10,   50,   51,   52,
        53,   10,   54,   29,   41,   43,   45,   55,   56,   57,
        36,   37,   10,   38,   39,   40,   41,   42,   10,   43,
        44,   45,   46,   47,   48,   49,   10,   50,   51,   52,
        53,   10,   54,   29,   41,   43,   45,   55,   56,   57,
-       57,   65,   58,   58,   68,   59,   59,   77,   80,   60,
-       60,   77,   78,   79,   61,   61,  109,  174,   93,   66,
-       69,  100,  180,  101,  137,   76,   93,  110,  138,  177,
-
-      169,  178,  102,  557,   81,  103,  181,   77,  180,  104,
-      170,  168,  137,   93,   93,  105,  182,  106,  183,  219,
-      107,  100,  220,  103,  108,  175,  556,   67,   70,   73,
-       73,   73,   73,   73,   73,   73,   73,   73,   73,  111,
-      184,  113,  185,  211,  112,   93,   74,  106,  187,  116,
-       74,  114,  117,  291,  139,  140,  115,  133,  133,  133,
-      133,  211,  141,  118,  119,  119,  119,  119,   75,  114,
-      322,  115,  323,  134,  193,  194,   74,   83,   84,  198,
-      199,  135,  209,  120,  176,  121,  136,  122,  111,  164,
-      165,  555,  166,  112,   85,   86,  167,  209,  123,  239,
-
-      124,  205,  206,  134,   87,  212,   88,  227,  228,   89,
-      289,   90,  235,  236,   91,  237,  238,  239,   92,  256,
-      212,  252,  227,  228,   85,   93,  188,  188,  188,  188,
-      188,  188,  188,  188,  188,  188,  252,   94,   94,   94,
-       94,  189,  189,  189,  189,  189,  189,  189,  189,  189,
-      189,  188,  188,  188,  188,  188,  188,  188,  188,  188,
-      188,   95,  240,  242,  243,  241,  247,  250,   96,  197,
-       97,  306,  324,  325,  326,  306,   98,   99,  331,  554,
-      268,  303,  332,  284,  247,  250,   97,  126,  126,  126,
-      126,   76,   76,   76,   76,   76,   76,   76,   76,   76,
-
-       76,  255,  201,  259,  127,  128,  202,  129,  261,  267,
-      268,  303,  203,  222,  204,  269,  255,  130,  259,  550,
-      270,  131,  132,  261,  549,  267,  223,  248,  203,  204,
-      224,  249,  272,  269,  127,  130,  271,  132,  142,  142,
-      142,  142,  142,  142,  262,  224,  249,  272,  263,  282,
-      270,  293,  312,  264,  143,  294,  144,  336,  265,  519,
-      548,  336,  520,  266,  282,  145,  295,  296,  312,  321,
-      327,  146,  188,  188,  188,  188,  188,  188,  188,  188,
-      188,  188,  297,  320,  143,  328,  298,  146,  147,  147,
-      147,  147,  147,  147,  147,  147,  330,  299,  300,  321,
-
-      327,  320,  340,  307,  148,  335,  340,  317,  149,  318,
-      329,  344,  330,  308,  319,  344,  547,  150,  151,  309,
-      310,  335,  546,  152,  189,  189,  189,  189,  189,  189,
-      189,  189,  189,  189,  148,  310,  151,  317,  152,  153,
-      329,  342,  349,  401,  352,  545,  349,  365,  360,  361,
-      367,  404,  374,  154,  405,  155,  342,  156,  157,  352,
-      158,  159,  538,  365,  544,  539,  367,  374,  160,  353,
-      362,  161,  162,  401,  363,  353,  370,  163,  398,  353,
-      371,  404,  399,  154,  405,  385,  389,  162,  190,  190,
-      190,  190,  190,  190,  190,  190,  190,  190,  390,  353,
-
-      385,  408,  410,  429,  191,  191,  191,  191,  191,  191,
-      355,  413,  392,  393,  356,  443,  408,  450,  394,  357,
-      471,  426,  428,  472,  358,  442,  445,  413,  447,  359,
-      392,  443,  410,  429,  191,  191,  426,  428,  439,  440,
-      442,  445,  459,  447,  467,  441,  468,  450,  474,  476,
-      471,  481,  484,  469,  489,  490,  491,  459,  470,  496,
-      467,  497,  502,  474,  505,  509,  517,  484,  511,  512,
-      523,  527,  533,  537,  496,  551,  497,  502,  543,  476,
-      509,  481,  552,  511,  512,  542,  527,  533,  537,  553,
-      541,  518,  540,  551,  505,  536,  535,  552,  534,  532,
-
-      523,  531,  530,  529,  553,   62,   62,   62,   72,  528,
-       72,   72,   72,  186,  526,  186,  186,  186,  207,  207,
-      191,  191,  525,  524,  522,  521,  516,  515,  514,  513,
-      510,  508,  507,  506,  504,  503,  501,  500,  499,  498,
-      495,  494,  493,  492,  488,  487,  486,  485,  483,  482,
-      480,  479,  478,  477,  475,  473,  466,  465,  464,  463,
-      462,  461,  460,  458,  457,  456,  455,  454,  453,  452,
-      451,  449,  448,  446,  444,  438,  437,  436,  414,  435,
-      434,  433,  432,  431,  430,  427,  425,  424,  423,  422,
-      421,  420,  419,  418,  417,  416,  415,  414,  412,  411,
-
-      409,  407,  406,  403,  402,  400,  397,  396,  395,  391,
-      388,  387,  386,  384,  383,  187,  382,  381,  380,  379,
-      378,  377,  376,  375,  373,  372,  369,  368,  366,  364,
-      354,  351,  350,  348,  347,  346,  345,  343,  341,  339,
-      338,  337,  334,  333,  316,  315,  314,  313,  311,  305,
-      304,  302,  301,  292,  187,  290,  288,  287,  286,  285,
-      283,  281,  280,  279,  278,  277,  276,  275,  274,  273,
-      260,  258,  257,  256,  254,  253,  251,  246,  245,  244,
-      234,  233,  232,  231,  230,  229,  226,  225,  221,  218,
-      217,  216,  215,  214,  213,  210,  208,  200,  197,  196,
-
-      195,  192,  187,  179,  173,  172,  171,  168,  125,   82,
-       71,   64,   63,  558,    5,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558
+       57,   65,   58,   58,   68,   59,   59,   72,   78,   60,
+       60,  553,  554,   91,   61,   61,   76,   77,  107,   66,
+       69,   91,   98,  135,   99,  207,   74,  136,  167,  108,
+
+       74,   74,   91,  100,   79,   74,  101,  175,  168,  176,
+      102,  135,  104,  207,  178,  105,  103,   91,   75,  106,
+      189,  190,   98,  554,  101,  111,   74,   67,   70,  172,
+      178,   74,   81,   82,  109,  112,  194,  195,  114,  110,
+      113,  115,  104,  215,  162,  163,  216,  164,   91,   83,
+       84,  165,  116,  112,  180,  113,  181,  137,  138,   85,
+      182,   86,  183,  179,   87,  139,   88,  173,  166,   89,
+      201,  202,  513,   90,  131,  131,  131,  131,  552,   83,
+       91,  117,  117,  117,  117,  193,  205,  174,  231,  232,
+      132,  109,   92,   92,   92,   92,  110,  514,  133,  280,
+
+      118,  205,  119,  134,  120,  186,  186,  186,  186,  186,
+      186,  186,  186,  186,  186,  121,   93,  122,  208,  223,
+      132,  224,  235,   94,  248,   95,  233,  234,  238,  239,
+      551,   96,   97,  208,  223,  236,  224,  550,  237,  248,
+      235,   95,  124,  124,  124,  124,   73,   73,   73,   73,
+       73,   73,   73,   73,   73,   73,  243,  197,  251,  125,
+      126,  198,  127,  255,  257,  268,  546,  199,  218,  200,
+      246,  263,  128,  251,  243,  264,  129,  130,  255,  257,
+      268,  219,  244,  199,  200,  220,  245,  263,  246,  125,
+      128,  266,  130,  140,  140,  140,  140,  140,  140,  258,
+
+      220,  245,  278,  259,  265,  264,  285,  267,  260,  141,
+      299,  142,  302,  261,  185,  252,  302,  278,  262,  287,
+      143,  266,  265,  318,  545,  319,  144,  186,  186,  186,
+      186,  186,  186,  186,  186,  186,  186,  289,  316,  141,
+      299,  290,  144,  145,  145,  145,  145,  145,  145,  145,
+      145,  293,  291,  292,  303,  294,  316,  317,  308,  146,
+      320,  321,  322,  147,  304,  323,  295,  296,  325,  326,
+      305,  306,  148,  149,  308,  313,  331,  314,  150,  327,
+      324,  544,  315,  328,  332,  326,  306,  317,  332,  146,
+      543,  149,  331,  150,  151,  323,  336,  340,  325,  338,
+
+      336,  340,  345,  348,  542,  313,  345,  370,  152,  361,
+      153,  349,  154,  155,  338,  156,  157,  349,  348,  363,
+      351,  349,  370,  158,  352,  361,  159,  160,  381,  353,
+      356,  357,  161,  366,  354,  363,  385,  367,  152,  355,
+      397,  349,  160,  381,  388,  389,  400,  394,  386,  401,
+      390,  395,  358,  404,  406,  409,  359,  422,  424,  425,
+      435,  436,  388,  438,  439,  446,  441,  437,  404,  463,
+      397,  409,  422,  424,  472,  443,  400,  455,  438,  401,
+      439,  441,  470,  477,  406,  463,  464,  480,  467,  425,
+      443,  468,  455,  465,  492,  446,  493,  470,  466,  485,
+
+      486,  487,  480,  501,  472,  498,  505,  507,  508,  492,
+      519,  493,  515,  477,  523,  516,  529,  533,  467,  547,
+      498,  505,  507,  508,  534,  541,  548,  535,  549,  523,
+      540,  529,  533,  501,  539,  538,  537,  547,  536,  532,
+      519,  548,  531,  549,   62,   62,   62,   62,   73,   73,
+      184,  530,  184,  184,  184,  184,  187,  187,  203,  203,
+      528,  527,  526,  525,  524,  522,  521,  520,  518,  517,
+      512,  511,  510,  509,  506,  504,  503,  502,  500,  499,
+      497,  496,  495,  494,  491,  490,  489,  488,  484,  483,
+      482,  481,  479,  478,  476,  475,  474,  473,  471,  469,
+
+      462,  461,  460,  459,  458,  457,  456,  454,  453,  452,
+      451,  450,  449,  448,  447,  445,  444,  442,  440,  434,
+      433,  432,  410,  431,  430,  429,  428,  427,  426,  423,
+      421,  420,  419,  418,  417,  416,  415,  414,  413,  412,
+      411,  410,  408,  407,  405,  403,  402,  399,  398,  396,
+      393,  392,  391,  387,  384,  383,  382,  380,  379,  185,
+      378,  377,  376,  375,  374,  373,  372,  371,  369,  368,
+      365,  364,  362,  360,  350,  347,  346,  344,  343,  342,
+      341,  339,  337,  335,  334,  333,  330,  329,  312,  311,
+      310,  309,  307,  301,  300,  298,  297,  288,  185,  286,
+
+      284,  283,  282,  281,  279,  277,  276,  275,  274,  273,
+      272,  271,  270,  269,  256,  254,  253,  252,  250,  249,
+      247,  242,  241,  240,  230,  229,  228,  227,  226,  225,
+      222,  221,  217,  214,  213,  212,  211,  210,  209,  206,
+      204,  196,  193,  192,  191,  188,  185,  177,  171,  170,
+      169,  166,  123,   80,   71,   64,   63,  554,    5,  554,
+      554,  554,  554,  554,  554,  554,  554,  554,  554,  554,
+      554,  554,  554,  554,  554,  554,  554,  554,  554,  554,
+      554,  554,  554,  554,  554,  554,  554,  554,  554,  554,
+      554,  554,  554,  554,  554,  554,  554,  554,  554,  554,
+
+      554,  554,  554,  554,  554,  554,  554,  554,  554,  554,
+      554,  554,  554,  554,  554,  554,  554,  554,  554,  554,
+      554,  554,  554,  554,  554,  554,  554,  554
     } ;
 
     } ;
 
-static yyconst flex_int16_t yy_chk[885] =
+static yyconst flex_int16_t yy_chk[829] =
     {   0,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
     {   0,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
@@ -722,96 +710,90 @@ static yyconst flex_int16_t yy_chk[885] =
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    3,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    3,
-        4,   16,    3,    4,   18,    3,    4,   21,   25,    3,
-        4,   21,   24,   24,    3,    4,   32,   55,   31,   16,
-       18,   30,   60,   30,   40,  561,   33,   32,   40,   58,
-
-       47,   58,   30,  556,   25,   30,   61,   21,   60,   30,
-       47,   61,   40,   35,   41,   30,   67,   31,   67,  108,
-       31,   30,  108,   30,   31,   55,  555,   16,   18,   20,
-       20,   20,   20,   20,   20,   20,   20,   20,   20,   33,
-       70,   34,   70,   98,   33,   57,   20,   31,  187,   35,
-       20,   34,   35,  187,   41,   41,   34,   39,   39,   39,
-       39,   98,   41,   35,   36,   36,   36,   36,   20,   34,
-      220,   34,  220,   39,   82,   82,   20,   28,   28,   86,
-       86,   39,   95,   36,   57,   36,   39,   36,   57,   45,
-       45,  554,   45,   57,   28,   28,   45,   95,   36,  130,
-
-       36,   91,   91,   39,   28,   99,   28,  114,  117,   28,
-      180,   28,  127,  127,   28,  128,  128,  130,   28,  180,
-       99,  141,  114,  117,   28,   29,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,  141,   29,   29,   29,
-       29,   73,   73,   73,   73,   73,   73,   73,   73,   73,
-       73,   74,   74,   74,   74,   74,   74,   74,   74,   74,
-       74,   29,  131,  132,  132,  131,  136,  139,   29,  173,
-       29,  208,  221,  221,  221,  208,   29,   29,  225,  553,
-      154,  204,  225,  173,  136,  139,   29,   38,   38,   38,
-       38,   76,   76,   76,   76,   76,   76,   76,   76,   76,
-
-       76,  145,   90,  149,   38,   38,   90,   38,  151,  153,
-      154,  204,   90,  110,   90,  155,  145,   38,  149,  546,
-      156,   38,   38,  151,  544,  153,  110,  137,   90,   90,
-      110,  137,  157,  155,   38,   38,  156,   38,   42,   42,
-       42,   42,   42,   42,  152,  110,  137,  157,  152,  169,
-      156,  195,  211,  152,   42,  195,   42,  230,  152,  490,
-      543,  230,  490,  152,  169,   42,  195,  195,  211,  219,
-      222,   42,  188,  188,  188,  188,  188,  188,  188,  188,
-      188,  188,  196,  218,   42,  222,  196,   42,   43,   43,
-       43,   43,   43,   43,   43,   43,  224,  196,  196,  219,
-
-      222,  218,  234,  209,   43,  229,  234,  217,   43,  217,
-      223,  244,  224,  209,  217,  244,  542,   43,   43,  209,
-      209,  229,  541,   43,  189,  189,  189,  189,  189,  189,
-      189,  189,  189,  189,   43,  209,   43,  217,   43,   44,
-      223,  240,  253,  319,  256,  540,  253,  270,  260,  260,
-      272,  324,  279,   44,  325,   44,  240,   44,   44,  256,
-       44,   44,  517,  270,  531,  517,  272,  279,   44,  257,
-      260,   44,   44,  319,  260,  257,  275,   44,  317,  257,
-      275,  324,  317,   44,  325,  303,  310,   44,   75,   75,
-       75,   75,   75,   75,   75,   75,   75,   75,  310,  257,
-
-      303,  328,  330,  369,   75,   75,   75,   75,   75,   75,
-      259,  335,  313,  313,  259,  386,  328,  393,  313,  259,
-      416,  366,  368,  416,  259,  384,  388,  335,  390,  259,
-      313,  386,  330,  369,   75,   75,  366,  368,  383,  383,
-      384,  388,  405,  390,  414,  383,  415,  393,  418,  426,
-      416,  433,  437,  415,  449,  449,  449,  405,  415,  455,
-      414,  456,  463,  418,  466,  476,  489,  437,  478,  480,
-      493,  500,  510,  516,  455,  547,  456,  463,  529,  426,
-      476,  433,  550,  478,  480,  528,  500,  510,  516,  551,
-      525,  489,  523,  547,  466,  515,  514,  550,  511,  508,
-
-      493,  507,  506,  505,  551,  559,  559,  559,  560,  503,
-      560,  560,  560,  562,  499,  562,  562,  562,  563,  563,
-      564,  564,  498,  495,  492,  491,  488,  484,  482,  481,
-      477,  472,  471,  467,  465,  464,  461,  460,  458,  457,
-      454,  453,  451,  450,  448,  440,  439,  438,  436,  435,
-      432,  431,  429,  427,  425,  417,  413,  412,  411,  410,
-      409,  407,  406,  404,  403,  402,  401,  400,  397,  395,
-      394,  392,  391,  389,  387,  382,  381,  379,  378,  377,
-      376,  375,  374,  373,  372,  367,  365,  364,  361,  360,
-      354,  351,  346,  343,  342,  341,  339,  337,  334,  333,
-
-      329,  327,  326,  321,  320,  318,  316,  315,  314,  312,
-      309,  308,  307,  302,  301,  291,  290,  289,  288,  287,
-      286,  285,  284,  282,  278,  276,  274,  273,  271,  267,
-      258,  255,  254,  252,  251,  250,  247,  241,  239,  233,
-      232,  231,  227,  226,  216,  215,  213,  212,  210,  206,
-      205,  201,  200,  194,  186,  181,  179,  178,  177,  176,
-      171,  168,  165,  164,  163,  162,  161,  160,  159,  158,
-      150,  148,  147,  146,  143,  142,  140,  135,  134,  133,
-      126,  125,  123,  120,  119,  118,  112,  111,  109,  107,
-      106,  105,  104,  102,  100,   97,   94,   87,   85,   84,
-
-       83,   78,   71,   59,   54,   53,   48,   46,   37,   26,
-       19,   15,   12,    5,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558
+        4,   16,    3,    4,   18,    3,    4,   20,   25,    3,
+        4,  552,   21,   31,    3,    4,   24,   24,   32,   16,
+       18,   33,   30,   40,   30,   96,   20,   40,   47,   32,
+
+       20,   21,   35,   30,   25,   21,   30,   58,   47,   58,
+       30,   40,   31,   96,   60,   31,   30,   41,   20,   31,
+       80,   80,   30,   21,   30,   34,   20,   16,   18,   55,
+       60,   21,   28,   28,   33,   34,   84,   84,   35,   33,
+       34,   35,   31,  106,   45,   45,  106,   45,   57,   28,
+       28,   45,   35,   34,   67,   34,   67,   41,   41,   28,
+       70,   28,   70,   61,   28,   41,   28,   55,   61,   28,
+       89,   89,  485,   28,   39,   39,   39,   39,  551,   28,
+       29,   36,   36,   36,   36,  171,   93,   57,  125,  125,
+       39,   57,   29,   29,   29,   29,   57,  485,   39,  171,
+
+       36,   93,   36,   39,   36,   72,   72,   72,   72,   72,
+       72,   72,   72,   72,   72,   36,   29,   36,   97,  112,
+       39,  115,  128,   29,  139,   29,  126,  126,  130,  130,
+      550,   29,   29,   97,  112,  129,  115,  549,  129,  139,
+      128,   29,   38,   38,   38,   38,   73,   73,   73,   73,
+       73,   73,   73,   73,   73,   73,  134,   88,  143,   38,
+       38,   88,   38,  147,  149,  155,  542,   88,  108,   88,
+      137,  151,   38,  143,  134,  152,   38,   38,  147,  149,
+      155,  108,  135,   88,   88,  108,  135,  151,  137,   38,
+       38,  154,   38,   42,   42,   42,   42,   42,   42,  150,
+
+      108,  135,  167,  150,  153,  152,  178,  154,  150,   42,
+      200,   42,  204,  150,  185,  178,  204,  167,  150,  185,
+       42,  154,  153,  216,  540,  216,   42,  186,  186,  186,
+      186,  186,  186,  186,  186,  186,  186,  191,  214,   42,
+      200,  191,   42,   43,   43,   43,   43,   43,   43,   43,
+       43,  192,  191,  191,  205,  192,  214,  215,  207,   43,
+      217,  217,  217,   43,  205,  218,  192,  192,  219,  220,
+      205,  205,   43,   43,  207,  213,  225,  213,   43,  221,
+      218,  539,  213,  221,  226,  220,  205,  215,  226,   43,
+      538,   43,  225,   43,   44,  218,  230,  240,  219,  236,
+
+      230,  240,  249,  252,  537,  213,  249,  275,   44,  266,
+       44,  253,   44,   44,  236,   44,   44,  253,  252,  268,
+      255,  253,  275,   44,  255,  266,   44,   44,  299,  255,
+      256,  256,   44,  271,  255,  268,  306,  271,   44,  255,
+      315,  253,   44,  299,  309,  309,  320,  313,  306,  321,
+      309,  313,  256,  324,  326,  331,  256,  362,  364,  365,
+      379,  379,  309,  380,  382,  389,  384,  379,  324,  410,
+      315,  331,  362,  364,  422,  386,  320,  401,  380,  321,
+      382,  384,  414,  429,  326,  410,  411,  433,  412,  365,
+      386,  412,  401,  411,  451,  389,  452,  414,  411,  445,
+
+      445,  445,  433,  462,  422,  459,  472,  474,  476,  451,
+      489,  452,  486,  429,  496,  486,  506,  512,  412,  543,
+      459,  472,  474,  476,  513,  536,  546,  513,  547,  496,
+      527,  506,  512,  462,  525,  524,  521,  543,  519,  511,
+      489,  546,  510,  547,  555,  555,  555,  555,  556,  556,
+      557,  507,  557,  557,  557,  557,  558,  558,  559,  559,
+      504,  503,  502,  501,  499,  495,  494,  491,  488,  487,
+      484,  480,  478,  477,  473,  468,  467,  463,  461,  460,
+      457,  456,  454,  453,  450,  449,  447,  446,  444,  436,
+      435,  434,  432,  431,  428,  427,  425,  423,  421,  413,
+
+      409,  408,  407,  406,  405,  403,  402,  400,  399,  398,
+      397,  396,  393,  391,  390,  388,  387,  385,  383,  378,
+      377,  375,  374,  373,  372,  371,  370,  369,  368,  363,
+      361,  360,  357,  356,  350,  347,  342,  339,  338,  337,
+      335,  333,  330,  329,  325,  323,  322,  317,  316,  314,
+      312,  311,  310,  308,  305,  304,  303,  298,  297,  287,
+      286,  285,  284,  283,  282,  281,  280,  278,  274,  272,
+      270,  269,  267,  263,  254,  251,  250,  248,  247,  246,
+      243,  237,  235,  229,  228,  227,  223,  222,  212,  211,
+      209,  208,  206,  202,  201,  197,  196,  190,  184,  179,
+
+      177,  176,  175,  174,  169,  166,  163,  162,  161,  160,
+      159,  158,  157,  156,  148,  146,  145,  144,  141,  140,
+      138,  133,  132,  131,  124,  123,  121,  118,  117,  116,
+      110,  109,  107,  105,  104,  103,  102,  100,   98,   95,
+       92,   85,   83,   82,   81,   76,   71,   59,   54,   53,
+       48,   46,   37,   26,   19,   15,   12,    5,  554,  554,
+      554,  554,  554,  554,  554,  554,  554,  554,  554,  554,
+      554,  554,  554,  554,  554,  554,  554,  554,  554,  554,
+      554,  554,  554,  554,  554,  554,  554,  554,  554,  554,
+      554,  554,  554,  554,  554,  554,  554,  554,  554,  554,
+
+      554,  554,  554,  554,  554,  554,  554,  554,  554,  554,
+      554,  554,  554,  554,  554,  554,  554,  554,  554,  554,
+      554,  554,  554,  554,  554,  554,  554,  554
     } ;
 
 static yy_state_type yy_last_accepting_state;
     } ;
 
 static yy_state_type yy_last_accepting_state;
@@ -830,7 +812,7 @@ int yy_flex_debug = 0;
 char *yytext;
 #line 1 "bfin-lex.l"
 /* bfin-lex.l  ADI Blackfin lexer
 char *yytext;
 #line 1 "bfin-lex.l"
 /* bfin-lex.l  ADI Blackfin lexer
-   Copyright 2005, 2006, 2007
+   Copyright 2005, 2006, 2007, 2008
    Free Software Foundation, Inc.
 
    This file is part of GAS, the GNU Assembler.
    Free Software Foundation, Inc.
 
    This file is part of GAS, the GNU Assembler.
@@ -868,7 +850,7 @@ int yylex (void);
    and <INITIAL> would match some keyword rules only with
    initial.  */
 
    and <INITIAL> would match some keyword rules only with
    initial.  */
 
-#line 872 "bfin-lex.c"
+#line 854 "bfin-lex.c"
 
 #define INITIAL 0
 #define KEYWORD 1
 
 #define INITIAL 0
 #define KEYWORD 1
@@ -887,6 +869,35 @@ int yylex (void);
 
 static int yy_init_globals (void );
 
 
 static int yy_init_globals (void );
 
+/* Accessor methods to globals.
+   These are made visible to non-reentrant scanners for convenience. */
+
+int yylex_destroy (void );
+
+int yyget_debug (void );
+
+void yyset_debug (int debug_flag  );
+
+YY_EXTRA_TYPE yyget_extra (void );
+
+void yyset_extra (YY_EXTRA_TYPE user_defined  );
+
+FILE *yyget_in (void );
+
+void yyset_in  (FILE * in_str  );
+
+FILE *yyget_out (void );
+
+void yyset_out  (FILE * out_str  );
+
+yy_size_t yyget_leng (void );
+
+char *yyget_text (void );
+
+int yyget_lineno (void );
+
+void yyset_lineno (int line_number  );
+
 /* Macros after this point can all be overridden by user definitions in
  * section 1.
  */
 /* Macros after this point can all be overridden by user definitions in
  * section 1.
  */
@@ -929,7 +940,7 @@ static int input (void );
 /* This used to be an fputs(), but since the string might contain NUL's,
  * we now use fwrite().
  */
 /* This used to be an fputs(), but since the string might contain NUL's,
  * we now use fwrite().
  */
-#define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
+#define ECHO fwrite( yytext, yyleng, 1, yyout )
 #endif
 
 /* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
 #endif
 
 /* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
@@ -940,7 +951,7 @@ static int input (void );
        if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
                { \
                int c = '*'; \
        if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
                { \
                int c = '*'; \
-               size_t n; \
+               yy_size_t n; \
                for ( n = 0; n < max_size && \
                             (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
                        buf[n] = (char) c; \
                for ( n = 0; n < max_size && \
                             (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
                        buf[n] = (char) c; \
@@ -1024,7 +1035,7 @@ YY_DECL
     
 #line 43 "bfin-lex.l"
 
     
 #line 43 "bfin-lex.l"
 
-#line 1028 "bfin-lex.c"
+#line 1039 "bfin-lex.c"
 
        if ( !(yy_init) )
                {
 
        if ( !(yy_init) )
                {
@@ -1077,13 +1088,13 @@ yy_match:
                        while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
                                {
                                yy_current_state = (int) yy_def[yy_current_state];
                        while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
                                {
                                yy_current_state = (int) yy_def[yy_current_state];
-                               if ( yy_current_state >= 559 )
+                               if ( yy_current_state >= 555 )
                                        yy_c = yy_meta[(unsigned int) yy_c];
                                }
                        yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
                        ++yy_cp;
                        }
                                        yy_c = yy_meta[(unsigned int) yy_c];
                                }
                        yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
                        ++yy_cp;
                        }
-               while ( yy_base[yy_current_state] != 815 );
+               while ( yy_base[yy_current_state] != 759 );
 
 yy_find_action:
                yy_act = yy_accept[yy_current_state];
 
 yy_find_action:
                yy_act = yy_accept[yy_current_state];
@@ -1220,12 +1231,12 @@ return SSYNC;
 case 23:
 YY_RULE_SETUP
 #line 66 "bfin-lex.l"
 case 23:
 YY_RULE_SETUP
 #line 66 "bfin-lex.l"
-_REG.regno = REG_SP; return HALF_REG;
+_REG.regno = REG_SP; _REG.flags = F_REG_LOW; return HALF_REG;
        YY_BREAK
 case 24:
 YY_RULE_SETUP
 #line 67 "bfin-lex.l"
        YY_BREAK
 case 24:
 YY_RULE_SETUP
 #line 67 "bfin-lex.l"
-_REG.regno = REG_SP | F_REG_HIGH; return HALF_REG;
+_REG.regno = REG_SP; _REG.flags = F_REG_HIGH; return HALF_REG;
        YY_BREAK
 case 25:
 YY_RULE_SETUP
        YY_BREAK
 case 25:
 YY_RULE_SETUP
@@ -1625,12 +1636,12 @@ _REG.regno = REG_FP; return REG;
 case 104:
 YY_RULE_SETUP
 #line 161 "bfin-lex.l"
 case 104:
 YY_RULE_SETUP
 #line 161 "bfin-lex.l"
-_REG.regno = REG_FP; return HALF_REG;
+_REG.regno = REG_FP; _REG.flags = F_REG_LOW; return HALF_REG;
        YY_BREAK
 case 105:
 YY_RULE_SETUP
 #line 162 "bfin-lex.l"
        YY_BREAK
 case 105:
 YY_RULE_SETUP
 #line 162 "bfin-lex.l"
-_REG.regno = REG_FP | F_REG_HIGH; return HALF_REG;
+_REG.regno = REG_FP; _REG.flags = F_REG_HIGH; return HALF_REG;
        YY_BREAK
 case 106:
 YY_RULE_SETUP
        YY_BREAK
 case 106:
 YY_RULE_SETUP
@@ -1895,393 +1906,388 @@ _REG.regno = S_AV1S; return STATUS_REG;
 case 158:
 YY_RULE_SETUP
 #line 218 "bfin-lex.l"
 case 158:
 YY_RULE_SETUP
 #line 218 "bfin-lex.l"
-_REG.regno = S_V; return STATUS_REG;
+_REG.regno = S_VS;   return STATUS_REG;
        YY_BREAK
 case 159:
 YY_RULE_SETUP
        YY_BREAK
 case 159:
 YY_RULE_SETUP
-#line 219 "bfin-lex.l"
-_REG.regno = S_VS;   return STATUS_REG;
+#line 221 "bfin-lex.l"
+_REG.regno = REG_ASTAT; return REG;
        YY_BREAK
 case 160:
 YY_RULE_SETUP
 #line 222 "bfin-lex.l"
        YY_BREAK
 case 160:
 YY_RULE_SETUP
 #line 222 "bfin-lex.l"
-_REG.regno = REG_ASTAT; return REG;
+return ASHIFT;
        YY_BREAK
 case 161:
 YY_RULE_SETUP
 #line 223 "bfin-lex.l"
        YY_BREAK
 case 161:
 YY_RULE_SETUP
 #line 223 "bfin-lex.l"
-return ASHIFT;
+return ASL;
        YY_BREAK
 case 162:
 YY_RULE_SETUP
 #line 224 "bfin-lex.l"
        YY_BREAK
 case 162:
 YY_RULE_SETUP
 #line 224 "bfin-lex.l"
-return ASL;
+return ASR;
        YY_BREAK
 case 163:
 YY_RULE_SETUP
 #line 225 "bfin-lex.l"
        YY_BREAK
 case 163:
 YY_RULE_SETUP
 #line 225 "bfin-lex.l"
-return ASR;
+return ALIGN8;
        YY_BREAK
 case 164:
 YY_RULE_SETUP
 #line 226 "bfin-lex.l"
        YY_BREAK
 case 164:
 YY_RULE_SETUP
 #line 226 "bfin-lex.l"
-return ALIGN8;
+return ALIGN16;
        YY_BREAK
 case 165:
 YY_RULE_SETUP
 #line 227 "bfin-lex.l"
        YY_BREAK
 case 165:
 YY_RULE_SETUP
 #line 227 "bfin-lex.l"
-return ALIGN16;
+return ALIGN24;
        YY_BREAK
 case 166:
 YY_RULE_SETUP
 #line 228 "bfin-lex.l"
        YY_BREAK
 case 166:
 YY_RULE_SETUP
 #line 228 "bfin-lex.l"
-return ALIGN24;
+return A_ONE_DOT_L;
        YY_BREAK
 case 167:
 YY_RULE_SETUP
 #line 229 "bfin-lex.l"
        YY_BREAK
 case 167:
 YY_RULE_SETUP
 #line 229 "bfin-lex.l"
-return A_ONE_DOT_L;
+return A_ZERO_DOT_L;
        YY_BREAK
 case 168:
 YY_RULE_SETUP
 #line 230 "bfin-lex.l"
        YY_BREAK
 case 168:
 YY_RULE_SETUP
 #line 230 "bfin-lex.l"
-return A_ZERO_DOT_L;
+return A_ONE_DOT_H;
        YY_BREAK
 case 169:
 YY_RULE_SETUP
 #line 231 "bfin-lex.l"
        YY_BREAK
 case 169:
 YY_RULE_SETUP
 #line 231 "bfin-lex.l"
-return A_ONE_DOT_H;
+return A_ZERO_DOT_H;
        YY_BREAK
 case 170:
 YY_RULE_SETUP
 #line 232 "bfin-lex.l"
        YY_BREAK
 case 170:
 YY_RULE_SETUP
 #line 232 "bfin-lex.l"
-return A_ZERO_DOT_H;
+return ABS;
        YY_BREAK
 case 171:
 YY_RULE_SETUP
 #line 233 "bfin-lex.l"
        YY_BREAK
 case 171:
 YY_RULE_SETUP
 #line 233 "bfin-lex.l"
-return ABS;
+return ABORT;
        YY_BREAK
 case 172:
 YY_RULE_SETUP
 #line 234 "bfin-lex.l"
        YY_BREAK
 case 172:
 YY_RULE_SETUP
 #line 234 "bfin-lex.l"
-return ABORT;
+_REG.regno = REG_A1x; return REG;
        YY_BREAK
 case 173:
 YY_RULE_SETUP
 #line 235 "bfin-lex.l"
        YY_BREAK
 case 173:
 YY_RULE_SETUP
 #line 235 "bfin-lex.l"
-_REG.regno = REG_A1x; return REG;
+_REG.regno = REG_A1w; return REG;
        YY_BREAK
 case 174:
 YY_RULE_SETUP
 #line 236 "bfin-lex.l"
        YY_BREAK
 case 174:
 YY_RULE_SETUP
 #line 236 "bfin-lex.l"
-_REG.regno = REG_A1w; return REG;
+_REG.regno = REG_A1;  return REG_A_DOUBLE_ONE;
        YY_BREAK
 case 175:
 YY_RULE_SETUP
 #line 237 "bfin-lex.l"
        YY_BREAK
 case 175:
 YY_RULE_SETUP
 #line 237 "bfin-lex.l"
-_REG.regno = REG_A1;  return REG_A_DOUBLE_ONE;
+_REG.regno = REG_A0x; return REG;
        YY_BREAK
 case 176:
 YY_RULE_SETUP
 #line 238 "bfin-lex.l"
        YY_BREAK
 case 176:
 YY_RULE_SETUP
 #line 238 "bfin-lex.l"
-_REG.regno = REG_A0x; return REG;
+_REG.regno = REG_A0w; return REG;
        YY_BREAK
 case 177:
 YY_RULE_SETUP
 #line 239 "bfin-lex.l"
        YY_BREAK
 case 177:
 YY_RULE_SETUP
 #line 239 "bfin-lex.l"
-_REG.regno = REG_A0w; return REG;
+_REG.regno = REG_A0;  return REG_A_DOUBLE_ZERO;
        YY_BREAK
 case 178:
 YY_RULE_SETUP
 #line 240 "bfin-lex.l"
        YY_BREAK
 case 178:
 YY_RULE_SETUP
 #line 240 "bfin-lex.l"
-_REG.regno = REG_A0;  return REG_A_DOUBLE_ZERO;
+return GOT;
        YY_BREAK
 case 179:
 YY_RULE_SETUP
 #line 241 "bfin-lex.l"
        YY_BREAK
 case 179:
 YY_RULE_SETUP
 #line 241 "bfin-lex.l"
-return GOT;
+return GOT17M4;
        YY_BREAK
 case 180:
 YY_RULE_SETUP
 #line 242 "bfin-lex.l"
        YY_BREAK
 case 180:
 YY_RULE_SETUP
 #line 242 "bfin-lex.l"
-return GOT17M4;
+return FUNCDESC_GOT17M4;
        YY_BREAK
 case 181:
 YY_RULE_SETUP
 #line 243 "bfin-lex.l"
        YY_BREAK
 case 181:
 YY_RULE_SETUP
 #line 243 "bfin-lex.l"
-return FUNCDESC_GOT17M4;
+return PLTPC;
        YY_BREAK
 case 182:
 YY_RULE_SETUP
        YY_BREAK
 case 182:
 YY_RULE_SETUP
-#line 244 "bfin-lex.l"
-return PLTPC;
+#line 246 "bfin-lex.l"
+return TILDA;
        YY_BREAK
 case 183:
 YY_RULE_SETUP
 #line 247 "bfin-lex.l"
        YY_BREAK
 case 183:
 YY_RULE_SETUP
 #line 247 "bfin-lex.l"
-return TILDA;
+return _BAR_ASSIGN;
        YY_BREAK
 case 184:
 YY_RULE_SETUP
 #line 248 "bfin-lex.l"
        YY_BREAK
 case 184:
 YY_RULE_SETUP
 #line 248 "bfin-lex.l"
-return _BAR_ASSIGN;
+return BAR;
        YY_BREAK
 case 185:
 YY_RULE_SETUP
 #line 249 "bfin-lex.l"
        YY_BREAK
 case 185:
 YY_RULE_SETUP
 #line 249 "bfin-lex.l"
-return BAR;
+return _CARET_ASSIGN;
        YY_BREAK
 case 186:
 YY_RULE_SETUP
 #line 250 "bfin-lex.l"
        YY_BREAK
 case 186:
 YY_RULE_SETUP
 #line 250 "bfin-lex.l"
-return _CARET_ASSIGN;
+return CARET;
        YY_BREAK
 case 187:
 YY_RULE_SETUP
 #line 251 "bfin-lex.l"
        YY_BREAK
 case 187:
 YY_RULE_SETUP
 #line 251 "bfin-lex.l"
-return CARET;
+return RBRACK;
        YY_BREAK
 case 188:
 YY_RULE_SETUP
 #line 252 "bfin-lex.l"
        YY_BREAK
 case 188:
 YY_RULE_SETUP
 #line 252 "bfin-lex.l"
-return RBRACK;
+return LBRACK;
        YY_BREAK
 case 189:
 YY_RULE_SETUP
 #line 253 "bfin-lex.l"
        YY_BREAK
 case 189:
 YY_RULE_SETUP
 #line 253 "bfin-lex.l"
-return LBRACK;
+return _GREATER_GREATER_GREATER_THAN_ASSIGN;
        YY_BREAK
 case 190:
 YY_RULE_SETUP
 #line 254 "bfin-lex.l"
        YY_BREAK
 case 190:
 YY_RULE_SETUP
 #line 254 "bfin-lex.l"
-return _GREATER_GREATER_GREATER_THAN_ASSIGN;
+return _GREATER_GREATER_ASSIGN;
        YY_BREAK
 case 191:
 YY_RULE_SETUP
 #line 255 "bfin-lex.l"
        YY_BREAK
 case 191:
 YY_RULE_SETUP
 #line 255 "bfin-lex.l"
-return _GREATER_GREATER_ASSIGN;
+return _GREATER_GREATER_GREATER;
        YY_BREAK
 case 192:
 YY_RULE_SETUP
 #line 256 "bfin-lex.l"
        YY_BREAK
 case 192:
 YY_RULE_SETUP
 #line 256 "bfin-lex.l"
-return _GREATER_GREATER_GREATER;
+return GREATER_GREATER;
        YY_BREAK
 case 193:
 YY_RULE_SETUP
 #line 257 "bfin-lex.l"
        YY_BREAK
 case 193:
 YY_RULE_SETUP
 #line 257 "bfin-lex.l"
-return GREATER_GREATER;
+return _ASSIGN_ASSIGN;
        YY_BREAK
 case 194:
 YY_RULE_SETUP
 #line 258 "bfin-lex.l"
        YY_BREAK
 case 194:
 YY_RULE_SETUP
 #line 258 "bfin-lex.l"
-return _ASSIGN_ASSIGN;
+return ASSIGN;
        YY_BREAK
 case 195:
 YY_RULE_SETUP
 #line 259 "bfin-lex.l"
        YY_BREAK
 case 195:
 YY_RULE_SETUP
 #line 259 "bfin-lex.l"
-return ASSIGN;
+return _LESS_THAN_ASSIGN;
        YY_BREAK
 case 196:
 YY_RULE_SETUP
 #line 260 "bfin-lex.l"
        YY_BREAK
 case 196:
 YY_RULE_SETUP
 #line 260 "bfin-lex.l"
-return _LESS_THAN_ASSIGN;
+return _LESS_LESS_ASSIGN;
        YY_BREAK
 case 197:
 YY_RULE_SETUP
 #line 261 "bfin-lex.l"
        YY_BREAK
 case 197:
 YY_RULE_SETUP
 #line 261 "bfin-lex.l"
-return _LESS_LESS_ASSIGN;
+return LESS_LESS;
        YY_BREAK
 case 198:
 YY_RULE_SETUP
 #line 262 "bfin-lex.l"
        YY_BREAK
 case 198:
 YY_RULE_SETUP
 #line 262 "bfin-lex.l"
-return LESS_LESS;
+return LESS_THAN;
        YY_BREAK
 case 199:
 YY_RULE_SETUP
 #line 263 "bfin-lex.l"
        YY_BREAK
 case 199:
 YY_RULE_SETUP
 #line 263 "bfin-lex.l"
-return LESS_THAN;
+return LPAREN;
        YY_BREAK
 case 200:
 YY_RULE_SETUP
 #line 264 "bfin-lex.l"
        YY_BREAK
 case 200:
 YY_RULE_SETUP
 #line 264 "bfin-lex.l"
-return LPAREN;
+return RPAREN;
        YY_BREAK
 case 201:
 YY_RULE_SETUP
 #line 265 "bfin-lex.l"
        YY_BREAK
 case 201:
 YY_RULE_SETUP
 #line 265 "bfin-lex.l"
-return RPAREN;
+return COLON;
        YY_BREAK
 case 202:
 YY_RULE_SETUP
 #line 266 "bfin-lex.l"
        YY_BREAK
 case 202:
 YY_RULE_SETUP
 #line 266 "bfin-lex.l"
-return COLON;
+return SLASH;
        YY_BREAK
 case 203:
 YY_RULE_SETUP
 #line 267 "bfin-lex.l"
        YY_BREAK
 case 203:
 YY_RULE_SETUP
 #line 267 "bfin-lex.l"
-return SLASH;
+return _MINUS_ASSIGN;
        YY_BREAK
 case 204:
 YY_RULE_SETUP
 #line 268 "bfin-lex.l"
        YY_BREAK
 case 204:
 YY_RULE_SETUP
 #line 268 "bfin-lex.l"
-return _MINUS_ASSIGN;
+return _PLUS_BAR_PLUS;
        YY_BREAK
 case 205:
 YY_RULE_SETUP
 #line 269 "bfin-lex.l"
        YY_BREAK
 case 205:
 YY_RULE_SETUP
 #line 269 "bfin-lex.l"
-return _PLUS_BAR_PLUS;
+return _MINUS_BAR_PLUS;
        YY_BREAK
 case 206:
 YY_RULE_SETUP
 #line 270 "bfin-lex.l"
        YY_BREAK
 case 206:
 YY_RULE_SETUP
 #line 270 "bfin-lex.l"
-return _MINUS_BAR_PLUS;
+return _PLUS_BAR_MINUS;
        YY_BREAK
 case 207:
 YY_RULE_SETUP
 #line 271 "bfin-lex.l"
        YY_BREAK
 case 207:
 YY_RULE_SETUP
 #line 271 "bfin-lex.l"
-return _PLUS_BAR_MINUS;
+return _MINUS_BAR_MINUS;
        YY_BREAK
 case 208:
 YY_RULE_SETUP
 #line 272 "bfin-lex.l"
        YY_BREAK
 case 208:
 YY_RULE_SETUP
 #line 272 "bfin-lex.l"
-return _MINUS_BAR_MINUS;
+return _MINUS_MINUS;
        YY_BREAK
 case 209:
 YY_RULE_SETUP
 #line 273 "bfin-lex.l"
        YY_BREAK
 case 209:
 YY_RULE_SETUP
 #line 273 "bfin-lex.l"
-return _MINUS_MINUS;
+return MINUS;
        YY_BREAK
 case 210:
 YY_RULE_SETUP
 #line 274 "bfin-lex.l"
        YY_BREAK
 case 210:
 YY_RULE_SETUP
 #line 274 "bfin-lex.l"
-return MINUS;
+return COMMA;
        YY_BREAK
 case 211:
 YY_RULE_SETUP
 #line 275 "bfin-lex.l"
        YY_BREAK
 case 211:
 YY_RULE_SETUP
 #line 275 "bfin-lex.l"
-return COMMA;
+return _PLUS_ASSIGN;
        YY_BREAK
 case 212:
 YY_RULE_SETUP
 #line 276 "bfin-lex.l"
        YY_BREAK
 case 212:
 YY_RULE_SETUP
 #line 276 "bfin-lex.l"
-return _PLUS_ASSIGN;
+return _PLUS_PLUS;
        YY_BREAK
 case 213:
 YY_RULE_SETUP
 #line 277 "bfin-lex.l"
        YY_BREAK
 case 213:
 YY_RULE_SETUP
 #line 277 "bfin-lex.l"
-return _PLUS_PLUS;
+return PLUS;
        YY_BREAK
 case 214:
 YY_RULE_SETUP
 #line 278 "bfin-lex.l"
        YY_BREAK
 case 214:
 YY_RULE_SETUP
 #line 278 "bfin-lex.l"
-return PLUS;
+return _STAR_ASSIGN;
        YY_BREAK
 case 215:
 YY_RULE_SETUP
 #line 279 "bfin-lex.l"
        YY_BREAK
 case 215:
 YY_RULE_SETUP
 #line 279 "bfin-lex.l"
-return _STAR_ASSIGN;
+return STAR;
        YY_BREAK
 case 216:
 YY_RULE_SETUP
 #line 280 "bfin-lex.l"
        YY_BREAK
 case 216:
 YY_RULE_SETUP
 #line 280 "bfin-lex.l"
-return STAR;
+return _AMPERSAND_ASSIGN;
        YY_BREAK
 case 217:
 YY_RULE_SETUP
 #line 281 "bfin-lex.l"
        YY_BREAK
 case 217:
 YY_RULE_SETUP
 #line 281 "bfin-lex.l"
-return _AMPERSAND_ASSIGN;
+return AMPERSAND;
        YY_BREAK
 case 218:
 YY_RULE_SETUP
 #line 282 "bfin-lex.l"
        YY_BREAK
 case 218:
 YY_RULE_SETUP
 #line 282 "bfin-lex.l"
-return AMPERSAND;
+return PERCENT;
        YY_BREAK
 case 219:
 YY_RULE_SETUP
 #line 283 "bfin-lex.l"
        YY_BREAK
 case 219:
 YY_RULE_SETUP
 #line 283 "bfin-lex.l"
-return PERCENT;
+return BANG;
        YY_BREAK
 case 220:
 YY_RULE_SETUP
 #line 284 "bfin-lex.l"
        YY_BREAK
 case 220:
 YY_RULE_SETUP
 #line 284 "bfin-lex.l"
-return BANG;
+return SEMICOLON;
        YY_BREAK
 case 221:
 YY_RULE_SETUP
 #line 285 "bfin-lex.l"
        YY_BREAK
 case 221:
 YY_RULE_SETUP
 #line 285 "bfin-lex.l"
-return SEMICOLON;
+return _ASSIGN_BANG;
        YY_BREAK
 case 222:
 YY_RULE_SETUP
 #line 286 "bfin-lex.l"
        YY_BREAK
 case 222:
 YY_RULE_SETUP
 #line 286 "bfin-lex.l"
-return _ASSIGN_BANG;
+return DOUBLE_BAR;
        YY_BREAK
 case 223:
 YY_RULE_SETUP
 #line 287 "bfin-lex.l"
        YY_BREAK
 case 223:
 YY_RULE_SETUP
 #line 287 "bfin-lex.l"
-return DOUBLE_BAR;
+return AT;
        YY_BREAK
 case 224:
 YY_RULE_SETUP
 #line 288 "bfin-lex.l"
        YY_BREAK
 case 224:
 YY_RULE_SETUP
 #line 288 "bfin-lex.l"
-return AT;
+return PREFETCH;
        YY_BREAK
 case 225:
 YY_RULE_SETUP
 #line 289 "bfin-lex.l"
        YY_BREAK
 case 225:
 YY_RULE_SETUP
 #line 289 "bfin-lex.l"
-return PREFETCH;
+return UNLINK;
        YY_BREAK
 case 226:
 YY_RULE_SETUP
 #line 290 "bfin-lex.l"
        YY_BREAK
 case 226:
 YY_RULE_SETUP
 #line 290 "bfin-lex.l"
-return UNLINK;
+return LINK;
        YY_BREAK
 case 227:
 YY_RULE_SETUP
 #line 291 "bfin-lex.l"
        YY_BREAK
 case 227:
 YY_RULE_SETUP
 #line 291 "bfin-lex.l"
-return LINK;
+return IDLE;
        YY_BREAK
 case 228:
 YY_RULE_SETUP
 #line 292 "bfin-lex.l"
        YY_BREAK
 case 228:
 YY_RULE_SETUP
 #line 292 "bfin-lex.l"
-return IDLE;
+return IFLUSH;
        YY_BREAK
 case 229:
 YY_RULE_SETUP
 #line 293 "bfin-lex.l"
        YY_BREAK
 case 229:
 YY_RULE_SETUP
 #line 293 "bfin-lex.l"
-return IFLUSH;
+return FLUSHINV;
        YY_BREAK
 case 230:
 YY_RULE_SETUP
 #line 294 "bfin-lex.l"
        YY_BREAK
 case 230:
 YY_RULE_SETUP
 #line 294 "bfin-lex.l"
-return FLUSHINV;
+return FLUSH;
        YY_BREAK
 case 231:
 YY_RULE_SETUP
 #line 295 "bfin-lex.l"
        YY_BREAK
 case 231:
 YY_RULE_SETUP
 #line 295 "bfin-lex.l"
-return FLUSH;
-       YY_BREAK
-case 232:
-YY_RULE_SETUP
-#line 296 "bfin-lex.l"
 {
     yylval.value = parse_int (&yytext);
     return NUMBER;
   }
        YY_BREAK
 {
     yylval.value = parse_int (&yytext);
     return NUMBER;
   }
        YY_BREAK
-case 233:
+case 232:
 YY_RULE_SETUP
 YY_RULE_SETUP
-#line 300 "bfin-lex.l"
+#line 299 "bfin-lex.l"
 { 
     yylval.symbol = symbol_find_or_make (yytext);
     symbol_mark_used (yylval.symbol);
     return SYMBOL; 
   }
        YY_BREAK
 { 
     yylval.symbol = symbol_find_or_make (yytext);
     symbol_mark_used (yylval.symbol);
     return SYMBOL; 
   }
        YY_BREAK
-case 234:
+case 233:
 YY_RULE_SETUP
 YY_RULE_SETUP
-#line 305 "bfin-lex.l"
+#line 304 "bfin-lex.l"
 {
     char *name;
     char *ref = strdup (yytext);
 {
     char *name;
     char *ref = strdup (yytext);
@@ -2312,8 +2318,13 @@ YY_RULE_SETUP
       }                                  
   }                                  
        YY_BREAK
       }                                  
   }                                  
        YY_BREAK
+case 234:
+/* rule 234 can match eol */
+YY_RULE_SETUP
+#line 333 "bfin-lex.l"
+;
+       YY_BREAK
 case 235:
 case 235:
-/* rule 235 can match eol */
 YY_RULE_SETUP
 #line 334 "bfin-lex.l"
 ;
 YY_RULE_SETUP
 #line 334 "bfin-lex.l"
 ;
@@ -2321,19 +2332,14 @@ YY_RULE_SETUP
 case 236:
 YY_RULE_SETUP
 #line 335 "bfin-lex.l"
 case 236:
 YY_RULE_SETUP
 #line 335 "bfin-lex.l"
-;
+return yytext[0];
        YY_BREAK
 case 237:
 YY_RULE_SETUP
 #line 336 "bfin-lex.l"
        YY_BREAK
 case 237:
 YY_RULE_SETUP
 #line 336 "bfin-lex.l"
-return yytext[0];
-       YY_BREAK
-case 238:
-YY_RULE_SETUP
-#line 337 "bfin-lex.l"
 ECHO;
        YY_BREAK
 ECHO;
        YY_BREAK
-#line 2337 "bfin-lex.c"
+#line 2343 "bfin-lex.c"
 case YY_STATE_EOF(INITIAL):
 case YY_STATE_EOF(KEYWORD):
        yyterminate();
 case YY_STATE_EOF(INITIAL):
 case YY_STATE_EOF(KEYWORD):
        yyterminate();
@@ -2520,7 +2526,7 @@ static int yy_get_next_buffer (void)
 
        else
                {
 
        else
                {
-                       int num_to_read =
+                       yy_size_t num_to_read =
                        YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
 
                while ( num_to_read <= 0 )
                        YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
 
                while ( num_to_read <= 0 )
@@ -2534,7 +2540,7 @@ static int yy_get_next_buffer (void)
 
                        if ( b->yy_is_our_buffer )
                                {
 
                        if ( b->yy_is_our_buffer )
                                {
-                               int new_size = b->yy_buf_size * 2;
+                               yy_size_t new_size = b->yy_buf_size * 2;
 
                                if ( new_size <= 0 )
                                        b->yy_buf_size += b->yy_buf_size / 8;
 
                                if ( new_size <= 0 )
                                        b->yy_buf_size += b->yy_buf_size / 8;
@@ -2565,7 +2571,7 @@ static int yy_get_next_buffer (void)
 
                /* Read in more data. */
                YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
 
                /* Read in more data. */
                YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
-                       (yy_n_chars), (size_t) num_to_read );
+                       (yy_n_chars), num_to_read );
 
                YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
                }
 
                YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
                }
@@ -2589,6 +2595,14 @@ static int yy_get_next_buffer (void)
        else
                ret_val = EOB_ACT_CONTINUE_SCAN;
 
        else
                ret_val = EOB_ACT_CONTINUE_SCAN;
 
+       if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
+               /* Extend the array by 50%, plus the number we really need. */
+               yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
+               YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size  );
+               if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
+                       YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
+       }
+
        (yy_n_chars) += number_to_move;
        YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
        YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
        (yy_n_chars) += number_to_move;
        YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
        YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
@@ -2618,7 +2632,7 @@ static int yy_get_next_buffer (void)
                while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
                        {
                        yy_current_state = (int) yy_def[yy_current_state];
                while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
                        {
                        yy_current_state = (int) yy_def[yy_current_state];
-                       if ( yy_current_state >= 559 )
+                       if ( yy_current_state >= 555 )
                                yy_c = yy_meta[(unsigned int) yy_c];
                        }
                yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
                                yy_c = yy_meta[(unsigned int) yy_c];
                        }
                yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
@@ -2646,11 +2660,11 @@ static int yy_get_next_buffer (void)
        while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
                {
                yy_current_state = (int) yy_def[yy_current_state];
        while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
                {
                yy_current_state = (int) yy_def[yy_current_state];
-               if ( yy_current_state >= 559 )
+               if ( yy_current_state >= 555 )
                        yy_c = yy_meta[(unsigned int) yy_c];
                }
        yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
                        yy_c = yy_meta[(unsigned int) yy_c];
                }
        yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
-       yy_is_jam = (yy_current_state == 558);
+       yy_is_jam = (yy_current_state == 554);
 
        return yy_is_jam ? 0 : yy_current_state;
 }
 
        return yy_is_jam ? 0 : yy_current_state;
 }
@@ -2667,7 +2681,7 @@ static int yy_get_next_buffer (void)
        if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
                { /* need to shift things up to make room */
                /* +2 for EOB chars. */
        if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
                { /* need to shift things up to make room */
                /* +2 for EOB chars. */
-               register int number_to_move = (yy_n_chars) + 2;
+               register yy_size_t number_to_move = (yy_n_chars) + 2;
                register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
                                        YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
                register char *source =
                register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
                                        YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
                register char *source =
@@ -2716,7 +2730,7 @@ static int yy_get_next_buffer (void)
 
                else
                        { /* need more input */
 
                else
                        { /* need more input */
-                       int offset = (yy_c_buf_p) - (yytext_ptr);
+                       yy_size_t offset = (yy_c_buf_p) - (yytext_ptr);
                        ++(yy_c_buf_p);
 
                        switch ( yy_get_next_buffer(  ) )
                        ++(yy_c_buf_p);
 
                        switch ( yy_get_next_buffer(  ) )
@@ -2740,7 +2754,7 @@ static int yy_get_next_buffer (void)
                                case EOB_ACT_END_OF_FILE:
                                        {
                                        if ( yywrap( ) )
                                case EOB_ACT_END_OF_FILE:
                                        {
                                        if ( yywrap( ) )
-                                               return EOF;
+                                               return 0;
 
                                        if ( ! (yy_did_buffer_switch_on_eof) )
                                                YY_NEW_FILE;
 
                                        if ( ! (yy_did_buffer_switch_on_eof) )
                                                YY_NEW_FILE;
@@ -2992,7 +3006,7 @@ void yypop_buffer_state (void)
  */
 static void yyensure_buffer_stack (void)
 {
  */
 static void yyensure_buffer_stack (void)
 {
-       int num_to_alloc;
+       yy_size_t num_to_alloc;
     
        if (!(yy_buffer_stack)) {
 
     
        if (!(yy_buffer_stack)) {
 
@@ -3004,7 +3018,9 @@ static void yyensure_buffer_stack (void)
                (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
                                                                (num_to_alloc * sizeof(struct yy_buffer_state*)
                                                                );
                (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
                                                                (num_to_alloc * sizeof(struct yy_buffer_state*)
                                                                );
-               
+               if ( ! (yy_buffer_stack) )
+                       YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
+                                                                 
                memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
                                
                (yy_buffer_stack_max) = num_to_alloc;
                memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
                                
                (yy_buffer_stack_max) = num_to_alloc;
@@ -3022,6 +3038,8 @@ static void yyensure_buffer_stack (void)
                                                                ((yy_buffer_stack),
                                                                num_to_alloc * sizeof(struct yy_buffer_state*)
                                                                );
                                                                ((yy_buffer_stack),
                                                                num_to_alloc * sizeof(struct yy_buffer_state*)
                                                                );
+               if ( ! (yy_buffer_stack) )
+                       YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
 
                /* zero only the new slots.*/
                memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
 
                /* zero only the new slots.*/
                memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
@@ -3085,12 +3103,11 @@ YY_BUFFER_STATE yy_scan_string (yyconst char * yystr )
  * 
  * @return the newly allocated buffer state object.
  */
  * 
  * @return the newly allocated buffer state object.
  */
-YY_BUFFER_STATE yy_scan_bytes  (yyconst char * yybytes, int  _yybytes_len )
+YY_BUFFER_STATE yy_scan_bytes  (yyconst char * yybytes, yy_size_t  _yybytes_len )
 {
        YY_BUFFER_STATE b;
        char *buf;
 {
        YY_BUFFER_STATE b;
        char *buf;
-       yy_size_t n;
-       int i;
+       yy_size_t n, i;
     
        /* Get memory for full buffer, including space for trailing EOB's. */
        n = _yybytes_len + 2;
     
        /* Get memory for full buffer, including space for trailing EOB's. */
        n = _yybytes_len + 2;
@@ -3172,7 +3189,7 @@ FILE *yyget_out  (void)
 /** Get the length of the current token.
  * 
  */
 /** Get the length of the current token.
  * 
  */
-int yyget_leng  (void)
+yy_size_t yyget_leng  (void)
 {
         return yyleng;
 }
 {
         return yyleng;
 }
@@ -3320,7 +3337,7 @@ void yyfree (void * ptr )
 
 #define YYTABLES_NAME "yytables"
 
 
 #define YYTABLES_NAME "yytables"
 
-#line 337 "bfin-lex.l"
+#line 336 "bfin-lex.l"
 
 
 static long parse_int (char **end)
 
 
 static long parse_int (char **end)
@@ -3497,6 +3514,7 @@ static long parse_int (char **end)
 static int parse_reg (Register *r, int cl, char *rt)
 {
   r->regno = cl | (rt[1] - '0');
 static int parse_reg (Register *r, int cl, char *rt)
 {
   r->regno = cl | (rt[1] - '0');
+  r->flags = F_REG_NONE;
   return REG;
 }
 
   return REG;
 }
 
@@ -3512,11 +3530,12 @@ static int parse_halfreg (Register *r, int cl, char *rt)
 
       case 'l':
       case 'L':
 
       case 'l':
       case 'L':
+       r->flags = F_REG_LOW;
        break;
 
       case 'h':
       case 'H':
        break;
 
       case 'h':
       case 'H':
-       r->regno |= F_REG_HIGH;
+       r->flags = F_REG_HIGH;
        break;
     }
 
        break;
     }