Regenerate.
[oota-llvm.git] / lib / AsmParser / Lexer.cpp.cvs
index 93748f9cf178f58460cb45b11246fa177f9b761d..826275fb2eced8ee2a31986c504d58cf2d98e5be 100644 (file)
@@ -1,94 +1,51 @@
-#line 2 "Lexer.cpp"
-
-#line 4 "Lexer.cpp"
-
-#define  YY_INT_ALIGNED short int
-
-/* A lexical scanner generated by flex */
+#define yy_create_buffer llvmAsm_create_buffer
+#define yy_delete_buffer llvmAsm_delete_buffer
+#define yy_scan_buffer llvmAsm_scan_buffer
+#define yy_scan_string llvmAsm_scan_string
+#define yy_scan_bytes llvmAsm_scan_bytes
+#define yy_flex_debug llvmAsm_flex_debug
+#define yy_init_buffer llvmAsm_init_buffer
+#define yy_flush_buffer llvmAsm_flush_buffer
+#define yy_load_buffer_state llvmAsm_load_buffer_state
+#define yy_switch_to_buffer llvmAsm_switch_to_buffer
+#define yyin llvmAsmin
+#define yyleng llvmAsmleng
+#define yylex llvmAsmlex
+#define yyout llvmAsmout
+#define yyrestart llvmAsmrestart
+#define yytext llvmAsmtext
+#define yylineno llvmAsmlineno
+
+#line 20 "Lexer.cpp"
+/* A lexical scanner generated by flex*/
+
+/* Scanner skeleton version:
+ * $Header$
+ */
 
 #define FLEX_SCANNER
 #define YY_FLEX_MAJOR_VERSION 2
 #define YY_FLEX_MINOR_VERSION 5
-#define YY_FLEX_SUBMINOR_VERSION 33
-#if YY_FLEX_SUBMINOR_VERSION > 0
-#define FLEX_BETA
-#endif
-
-/* First, we deal with  platform-specific or compiler-specific issues. */
 
-/* begin standard C headers. */
 #include <stdio.h>
-#include <string.h>
-#include <errno.h>
-#include <stdlib.h>
-
-/* end standard C headers. */
-
-/* flex integer type definitions */
-
-#ifndef FLEXINT_H
-#define FLEXINT_H
-
-/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
-
-#if __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. 
- */
-#ifndef __STDC_LIMIT_MACROS
-#define __STDC_LIMIT_MACROS 1
-#endif
+#include <unistd.h>
 
-#include <inttypes.h>
-typedef int8_t flex_int8_t;
-typedef uint8_t flex_uint8_t;
-typedef int16_t flex_int16_t;
-typedef uint16_t flex_uint16_t;
-typedef int32_t flex_int32_t;
-typedef uint32_t flex_uint32_t;
-#else
-typedef signed char flex_int8_t;
-typedef short int flex_int16_t;
-typedef int flex_int32_t;
-typedef unsigned char flex_uint8_t; 
-typedef unsigned short int flex_uint16_t;
-typedef unsigned int flex_uint32_t;
-#endif /* ! C99 */
 
-/* Limits of integral types. */
-#ifndef INT8_MIN
-#define INT8_MIN               (-128)
-#endif
-#ifndef INT16_MIN
-#define INT16_MIN              (-32767-1)
-#endif
-#ifndef INT32_MIN
-#define INT32_MIN              (-2147483647-1)
-#endif
-#ifndef INT8_MAX
-#define INT8_MAX               (127)
-#endif
-#ifndef INT16_MAX
-#define INT16_MAX              (32767)
-#endif
-#ifndef INT32_MAX
-#define INT32_MAX              (2147483647)
-#endif
-#ifndef UINT8_MAX
-#define UINT8_MAX              (255U)
-#endif
-#ifndef UINT16_MAX
-#define UINT16_MAX             (65535U)
+/* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
+#ifdef c_plusplus
+#ifndef __cplusplus
+#define __cplusplus
 #endif
-#ifndef UINT32_MAX
-#define UINT32_MAX             (4294967295U)
 #endif
 
-#endif /* ! FLEXINT_H */
 
 #ifdef __cplusplus
 
+#include <stdlib.h>
+
+/* Use prototypes in function declarations. */
+#define YY_USE_PROTOS
+
 /* The "const" storage-class-modifier is valid. */
 #define YY_USE_CONST
 
@@ -96,17 +53,34 @@ typedef unsigned int flex_uint32_t;
 
 #if __STDC__
 
+#define YY_USE_PROTOS
 #define YY_USE_CONST
 
 #endif /* __STDC__ */
 #endif /* ! __cplusplus */
 
+#ifdef __TURBOC__
+ #pragma warn -rch
+ #pragma warn -use
+#include <io.h>
+#include <stdlib.h>
+#define YY_USE_CONST
+#define YY_USE_PROTOS
+#endif
+
 #ifdef YY_USE_CONST
 #define yyconst const
 #else
 #define yyconst
 #endif
 
+
+#ifdef YY_USE_PROTOS
+#define YY_PROTO(proto) proto
+#else
+#define YY_PROTO(proto) ()
+#endif
+
 /* Returned upon end-of-file. */
 #define YY_NULL 0
 
@@ -121,88 +95,80 @@ typedef unsigned int flex_uint32_t;
  * but we do it the disgusting crufty way forced on us by the ()-less
  * definition of BEGIN.
  */
-#define BEGIN (yy_start) = 1 + 2 *
+#define BEGIN yy_start = 1 + 2 *
 
 /* Translate the current start state into a value that can be later handed
  * to BEGIN to return to the state.  The YYSTATE alias is for lex
  * compatibility.
  */
-#define YY_START (((yy_start) - 1) / 2)
+#define YY_START ((yy_start - 1) / 2)
 #define YYSTATE YY_START
 
 /* Action number for EOF rule of a given start state. */
 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
 
 /* Special action meaning "start processing a new file". */
-#define YY_NEW_FILE llvmAsmrestart(llvmAsmin  )
+#define YY_NEW_FILE yyrestart( yyin )
 
 #define YY_END_OF_BUFFER_CHAR 0
 
 /* Size of default input buffer. */
-#ifndef YY_BUF_SIZE
 #define YY_BUF_SIZE (16384*64)
-#endif
 
-/* The state buf must be large enough to hold one state per character in the main buffer.
- */
-#define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
-
-#ifndef YY_TYPEDEF_YY_BUFFER_STATE
-#define YY_TYPEDEF_YY_BUFFER_STATE
 typedef struct yy_buffer_state *YY_BUFFER_STATE;
-#endif
-
-extern int llvmAsmleng;
 
-extern FILE *llvmAsmin, *llvmAsmout;
+extern int yyleng;
+extern FILE *yyin, *yyout;
 
 #define EOB_ACT_CONTINUE_SCAN 0
 #define EOB_ACT_END_OF_FILE 1
 #define EOB_ACT_LAST_MATCH 2
 
-    /* Note: We specifically omit the test for yy_rule_can_match_eol because it requires
-     *       access to the local variable yy_act. Since yyless() is a macro, it would break
-     *       existing scanners that call yyless() from OUTSIDE llvmAsmlex. 
-     *       One obvious solution it to make yy_act a global. I tried that, and saw
-     *       a 5% performance hit in a non-llvmAsmlineno scanner, because yy_act is
-     *       normally declared as a register variable-- so it is not worth it.
-     */
-    #define  YY_LESS_LINENO(n) \
-            do { \
-                int yyl;\
-                for ( yyl = n; yyl < llvmAsmleng; ++yyl )\
-                    if ( llvmAsmtext[yyl] == '\n' )\
-                        --llvmAsmlineno;\
-            }while(0)
-    
-/* Return all but the first "n" matched characters back to the input stream. */
+/* The funky do-while in the following #define is used to turn the definition
+ * int a single C statement (which needs a semi-colon terminator).  This
+ * avoids problems with code like:
+ *
+ *     if ( condition_holds )
+ *             yyless( 5 );
+ *     else
+ *             do_something_else();
+ *
+ * Prior to using the do-while the compiler would get upset at the
+ * "else" because it interpreted the "if" statement as being all
+ * done when it reached the ';' after the yyless() call.
+ */
+
+/* Return all but the first 'n' matched characters back to the input stream. */
+
 #define yyless(n) \
        do \
                { \
-               /* Undo effects of setting up llvmAsmtext. */ \
-        int yyless_macro_arg = (n); \
-        YY_LESS_LINENO(yyless_macro_arg);\
-               *yy_cp = (yy_hold_char); \
+               /* Undo effects of setting up yytext. */ \
+               *yy_cp = yy_hold_char; \
                YY_RESTORE_YY_MORE_OFFSET \
-               (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
-               YY_DO_BEFORE_ACTION; /* set up llvmAsmtext again */ \
+               yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \
+               YY_DO_BEFORE_ACTION; /* set up yytext again */ \
                } \
        while ( 0 )
 
-#define unput(c) yyunput( c, (yytext_ptr)  )
+#define unput(c) yyunput( c, yytext_ptr )
+
+/* Some routines like yy_flex_realloc() are emitted as static but are
+   not called by all lexers. This generates warnings in some compilers,
+   notably GCC. Arrange to suppress these. */
+#ifdef __GNUC__
+#define YY_MAY_BE_UNUSED __attribute__((unused))
+#else
+#define YY_MAY_BE_UNUSED
+#endif
 
 /* 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
        {
        FILE *yy_input_file;
@@ -239,16 +205,12 @@ struct yy_buffer_state
         */
        int yy_at_bol;
 
-    int yy_bs_lineno; /**< The line count. */
-    int yy_bs_column; /**< The column count. */
-    
        /* Whether to try to fill the input buffer when we reach the
         * end of it.
         */
        int yy_fill_buffer;
 
        int yy_buffer_status;
-
 #define YY_BUFFER_NEW 0
 #define YY_BUFFER_NORMAL 1
        /* When an EOF's been seen but there's still some text to process
@@ -258,209 +220,216 @@ struct yy_buffer_state
         * possible backing-up.
         *
         * When we actually see the EOF, we change the status to "new"
-        * (via llvmAsmrestart()), so that the user can continue scanning by
-        * just pointing llvmAsmin at a new input file.
+        * (via yyrestart()), so that the user can continue scanning by
+        * just pointing yyin at a new input file.
         */
 #define YY_BUFFER_EOF_PENDING 2
-
        };
-#endif /* !YY_STRUCT_YY_BUFFER_STATE */
 
-/* Stack of input buffers. */
-static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
-static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
-static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
+static YY_BUFFER_STATE yy_current_buffer = 0;
 
 /* We provide macros for accessing buffer states in case in the
  * future we want to put the buffer states in a more general
  * "scanner state".
- *
- * Returns the top of the stack, or NULL.
  */
-#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
-                          ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
-                          : NULL)
+#define YY_CURRENT_BUFFER yy_current_buffer
 
-/* Same as previous macro, but useful when we know that the buffer stack is not
- * NULL or when we need an lvalue. For internal use only.
- */
-#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
 
-/* yy_hold_char holds the character lost when llvmAsmtext is formed. */
+/* 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 llvmAsmleng;
+
+
+int yyleng;
 
 /* Points to current character in buffer. */
 static char *yy_c_buf_p = (char *) 0;
-static int yy_init = 0;                /* whether we need to initialize */
+static int yy_init = 1;                /* whether we need to initialize */
 static int yy_start = 0;       /* start state number */
 
-/* Flag which is used to allow llvmAsmwrap()'s to do buffer switches
- * instead of setting up a fresh llvmAsmin.  A bit of a hack ...
+/* Flag which is used to allow yywrap()'s to do buffer switches
+ * instead of setting up a fresh yyin.  A bit of a hack ...
  */
 static int yy_did_buffer_switch_on_eof;
 
-void llvmAsmrestart (FILE *input_file  );
-void llvmAsm_switch_to_buffer (YY_BUFFER_STATE new_buffer  );
-YY_BUFFER_STATE llvmAsm_create_buffer (FILE *file,int size  );
-void llvmAsm_delete_buffer (YY_BUFFER_STATE b  );
-void llvmAsm_flush_buffer (YY_BUFFER_STATE b  );
-void llvmAsmpush_buffer_state (YY_BUFFER_STATE new_buffer  );
-void llvmAsmpop_buffer_state (void );
+void yyrestart YY_PROTO(( FILE *input_file ));
 
-static void llvmAsmensure_buffer_stack (void );
-static void llvmAsm_load_buffer_state (void );
-static void llvmAsm_init_buffer (YY_BUFFER_STATE b,FILE *file  );
+void yy_switch_to_buffer YY_PROTO(( YY_BUFFER_STATE new_buffer ));
+void yy_load_buffer_state YY_PROTO(( void ));
+YY_BUFFER_STATE yy_create_buffer YY_PROTO(( FILE *file, int size ));
+void yy_delete_buffer YY_PROTO(( YY_BUFFER_STATE b ));
+void yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, FILE *file ));
+void yy_flush_buffer YY_PROTO(( YY_BUFFER_STATE b ));
+#define YY_FLUSH_BUFFER yy_flush_buffer( yy_current_buffer )
 
-#define YY_FLUSH_BUFFER llvmAsm_flush_buffer(YY_CURRENT_BUFFER )
+YY_BUFFER_STATE yy_scan_buffer YY_PROTO(( char *base, yy_size_t size ));
+YY_BUFFER_STATE yy_scan_string YY_PROTO(( yyconst char *yy_str ));
+YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len ));
 
-YY_BUFFER_STATE llvmAsm_scan_buffer (char *base,yy_size_t size  );
-YY_BUFFER_STATE llvmAsm_scan_string (yyconst char *yy_str  );
-YY_BUFFER_STATE llvmAsm_scan_bytes (yyconst char *bytes,int len  );
+static void *yy_flex_alloc YY_PROTO(( yy_size_t ));
+static inline void *yy_flex_realloc YY_PROTO(( void *, yy_size_t )) YY_MAY_BE_UNUSED;
+static void yy_flex_free YY_PROTO(( void * ));
 
-void *llvmAsmalloc (yy_size_t  );
-void *llvmAsmrealloc (void *,yy_size_t  );
-void llvmAsmfree (void *  );
-
-#define yy_new_buffer llvmAsm_create_buffer
+#define yy_new_buffer yy_create_buffer
 
 #define yy_set_interactive(is_interactive) \
        { \
-       if ( ! YY_CURRENT_BUFFER ){ \
-        llvmAsmensure_buffer_stack (); \
-               YY_CURRENT_BUFFER_LVALUE =    \
-            llvmAsm_create_buffer(llvmAsmin,YY_BUF_SIZE ); \
-       } \
-       YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
+       if ( ! yy_current_buffer ) \
+               yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
+       yy_current_buffer->yy_is_interactive = is_interactive; \
        }
 
 #define yy_set_bol(at_bol) \
        { \
-       if ( ! YY_CURRENT_BUFFER ){\
-        llvmAsmensure_buffer_stack (); \
-               YY_CURRENT_BUFFER_LVALUE =    \
-            llvmAsm_create_buffer(llvmAsmin,YY_BUF_SIZE ); \
-       } \
-       YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
+       if ( ! yy_current_buffer ) \
+               yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
+       yy_current_buffer->yy_at_bol = at_bol; \
        }
 
-#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
+#define YY_AT_BOL() (yy_current_buffer->yy_at_bol)
 
-/* Begin user sect3 */
 
-#define llvmAsmwrap(n) 1
-#define YY_SKIP_YYWRAP
+#define YY_USES_REJECT
 
+#define yywrap() 1
+#define YY_SKIP_YYWRAP
 typedef unsigned char YY_CHAR;
-
-FILE *llvmAsmin = (FILE *) 0, *llvmAsmout = (FILE *) 0;
-
+FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
 typedef int yy_state_type;
+extern int yylineno;
+int yylineno = 1;
+extern char *yytext;
+#define yytext_ptr yytext
 
-extern int llvmAsmlineno;
-
-int llvmAsmlineno = 1;
-
-extern char *llvmAsmtext;
-#define yytext_ptr llvmAsmtext
-
-static yy_state_type yy_get_previous_state (void );
-static yy_state_type yy_try_NUL_trans (yy_state_type current_state  );
-static int yy_get_next_buffer (void );
-static void yy_fatal_error (yyconst char msg[]  );
+static yy_state_type yy_get_previous_state YY_PROTO(( void ));
+static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state ));
+static int yy_get_next_buffer YY_PROTO(( void ));
+static void yy_fatal_error YY_PROTO(( yyconst char msg[] ));
 
 /* Done after the current pattern has been matched and before the
- * corresponding action - sets up llvmAsmtext.
+ * corresponding action - sets up yytext.
  */
 #define YY_DO_BEFORE_ACTION \
-       (yytext_ptr) = yy_bp; \
-       llvmAsmleng = (size_t) (yy_cp - yy_bp); \
-       (yy_hold_char) = *yy_cp; \
+       yytext_ptr = yy_bp; \
+       yyleng = (int) (yy_cp - yy_bp); \
+       yy_hold_char = *yy_cp; \
        *yy_cp = '\0'; \
-       (yy_c_buf_p) = yy_cp;
+       yy_c_buf_p = yy_cp;
 
-#define YY_NUM_RULES 111
-#define YY_END_OF_BUFFER 112
-/* This struct is not used in this scanner,
-   but its presence is necessary. */
-struct yy_trans_info
-       {
-       flex_int32_t yy_verify;
-       flex_int32_t yy_nxt;
-       };
-static yyconst flex_int16_t yy_accept[479] =
+#define YY_NUM_RULES 134
+#define YY_END_OF_BUFFER 135
+static yyconst short int yy_acclist[212] =
     {   0,
-        0,    0,  112,  110,  109,  109,  110,  110,  110,  110,
-      110,  110,  102,  102,    1,  110,  110,  110,  110,  110,
-      110,  110,  110,  110,  110,  110,  110,  110,  110,  110,
-      110,  110,  110,  110,  110,  110,    0,  101,    0,   99,
-       98,   98,  105,    0,  103,    0,  107,  102,    0,    1,
-        0,    0,    0,    0,    0,    0,    0,    0,   84,    0,
-       40,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,   66,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,   23,    0,
-
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,  101,   98,   98,  107,   20,  107,    0,  108,   60,
-        0,    0,   65,    0,   38,    0,   33,    0,    0,    0,
-       41,    0,    0,    0,    0,    0,   63,    0,    0,    3,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-       51,    0,    0,    0,    0,    0,    0,    0,    0,   62,
-       25,    0,    0,   74,    0,   64,   83,    0,    0,    0,
-        0,    0,   78,    0,   79,    0,    0,    0,   61,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,   67,
-
-        0,  100,  107,    0,    0,    0,  107,    0,    0,    0,
-        0,   46,   75,   76,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,   91,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,   92,
-       53,    0,    0,   22,    0,    0,  104,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,   26,
-        0,    0,    4,   58,    0,   52,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,   45,    0,   11,    0,  107,
-       35,    0,    0,    2,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    5,    0,   55,    0,
-
-        0,    0,    0,    0,    0,   57,    0,    0,    0,    0,
-        0,    0,   47,    0,    0,   69,   73,   71,   72,   70,
-       68,   49,    0,    0,   93,    0,    0,    0,   48,   54,
-       21,    0,    0,    0,    0,    0,   81,    0,    0,    0,
-       90,    0,   44,    0,    0,    0,    0,    0,    0,   56,
-       30,   24,    0,    0,   43,    0,    7,    0,    0,    0,
-       86,    0,   32,   89,   37,   59,    0,    0,   77,    0,
-        0,   85,   27,   28,    0,    0,   87,   50,   82,   80,
-        0,    0,    0,    0,   42,    6,   29,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,   36,    0,
-
-        0,    0,    0,    0,    0,    0,    8,    0,    0,    0,
-       17,    0,    0,    0,    0,    9,   10,    0,    0,    0,
-        0,    0,   34,    0,   12,   14,   13,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,   39,    0,    0,    0,   15,
-        0,    0,    0,    0,   31,    0,    0,   88,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,   94,    0,   96,
-       97,   16,    0,   95,   18,    0,   19,    0
+      135,  133,  134,  132,  133,  134,  132,  134,  133,  134,
+      133,  134,  133,  134,  133,  134,  133,  134,  133,  134,
+      125,  133,  134,  125,  133,  134,    1,  133,  134,  133,
+      134,  133,  134,  133,  134,  133,  134,  133,  134,  133,
+      134,  133,  134,  133,  134,  133,  134,  133,  134,  133,
+      134,  133,  134,  133,  134,  133,  134,  133,  134,  133,
+      134,  133,  134,  133,  134,  133,  134,  133,  134,  133,
+      134,  124,  122,  121,  121,  128,  126,  130,  125,    1,
+      107,   41,   75,   23,  124,  121,  121,  129,  130,   20,
+      130,  131,   63,   74,   39,   34,   42,   66,    3,   54,
+
+       65,   25,   83,   70,  106,   99,  100,   64,   76,  123,
+      130,  130,  102,   49,   84,   85,   69,  114,   73,  115,
+       56,  101,   22,  127,   68,   88,   72,   26,    4,   61,
+       67,   55,   71,   48,   11,   87,  130,   36,    2,    5,
+       58,   90,   60,   50,   78,   82,   80,   81,   79,   77,
+       52,  116,   86,   51,   57,   21,  104,  113,   45,   59,
+       30,   24,   44,   94,   93,    7,  109,   33,  112,   38,
+       62,   98,   92,  108,   27,   28,   91,  110,   53,  105,
+      103,   97,   43,    6,   29,   89,   37,    8,   17,    9,
+       95,   10,   96,   35,   12,   14,   13,   32,   40,   15,
+
+       31,  111,  117,  119,  120,   16,   46,  118,   18,   47,
+       19
     } ;
 
-static yyconst flex_int32_t yy_ec[256] =
+static yyconst short int yy_accept[577] =
+    {   0,
+        1,    1,    1,    2,    4,    7,    9,   11,   13,   15,
+       17,   19,   21,   24,   27,   30,   32,   34,   36,   38,
+       40,   42,   44,   46,   48,   50,   52,   54,   56,   58,
+       60,   62,   64,   66,   68,   70,   72,   72,   73,   73,
+       74,   75,   76,   77,   77,   78,   78,   79,   80,   80,
+       81,   81,   81,   81,   81,   81,   81,   81,   81,   82,
+       82,   83,   83,   83,   83,   83,   83,   83,   83,   83,
+       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
+       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
+       84,   84,   84,   84,   84,   84,   84,   84,   84,   84,
+
+       84,   84,   84,   84,   84,   84,   85,   85,   85,   85,
+       85,   85,   85,   85,   85,   85,   85,   85,   85,   85,
+       85,   85,   86,   87,   89,   90,   91,   92,   92,   93,
+       94,   94,   94,   95,   95,   95,   96,   96,   97,   97,
+       97,   97,   97,   98,   98,   98,   98,   98,   98,   98,
+       99,   99,   99,  100,  100,  100,  100,  100,  100,  100,
+      100,  100,  100,  100,  100,  100,  100,  101,  101,  101,
+      101,  101,  101,  101,  101,  101,  101,  102,  103,  103,
+      103,  104,  104,  104,  105,  106,  106,  106,  106,  106,
+      106,  106,  106,  107,  107,  108,  108,  108,  108,  108,
+
+      108,  109,  109,  109,  109,  109,  109,  109,  109,  109,
+      109,  109,  109,  109,  109,  109,  109,  109,  109,  109,
+      109,  109,  109,  109,  109,  109,  110,  110,  110,  111,
+      112,  112,  112,  112,  113,  113,  113,  113,  114,  114,
+      114,  115,  116,  117,  117,  117,  117,  117,  117,  117,
+      117,  117,  117,  117,  117,  117,  117,  117,  117,  118,
+      118,  118,  118,  118,  119,  120,  120,  120,  120,  120,
+      120,  120,  120,  120,  120,  120,  121,  122,  123,  123,
+      123,  124,  124,  124,  124,  125,  125,  126,  126,  126,
+      126,  126,  126,  126,  127,  127,  127,  127,  127,  128,
+
+      128,  128,  129,  129,  129,  130,  130,  131,  131,  132,
+      133,  133,  133,  133,  133,  133,  133,  134,  134,  134,
+      134,  134,  135,  135,  136,  136,  136,  137,  138,  139,
+      139,  139,  140,  140,  140,  140,  140,  140,  140,  140,
+      140,  140,  140,  140,  140,  140,  140,  141,  141,  142,
+      143,  143,  143,  143,  143,  143,  143,  143,  143,  143,
+      143,  144,  144,  144,  144,  144,  144,  144,  144,  145,
+      145,  145,  146,  147,  148,  149,  150,  151,  152,  152,
+      152,  152,  153,  153,  153,  153,  154,  155,  155,  156,
+      157,  157,  157,  157,  157,  157,  158,  158,  158,  158,
+
+      158,  158,  159,  159,  159,  160,  160,  160,  160,  160,
+      160,  160,  160,  161,  162,  163,  163,  163,  164,  165,
+      166,  166,  166,  167,  167,  167,  167,  167,  168,  168,
+      169,  170,  171,  172,  172,  172,  172,  173,  173,  173,
+      174,  175,  176,  177,  178,  178,  178,  179,  180,  181,
+      182,  182,  182,  182,  182,  182,  183,  183,  184,  184,
+      185,  186,  186,  186,  186,  186,  186,  187,  187,  187,
+      187,  187,  187,  187,  187,  187,  188,  188,  188,  188,
+      188,  188,  188,  188,  188,  188,  189,  189,  189,  189,
+      189,  190,  190,  190,  190,  190,  191,  192,  193,  193,
+
+      194,  194,  194,  194,  194,  195,  195,  195,  195,  196,
+      196,  197,  198,  198,  198,  198,  198,  198,  198,  198,
+      198,  198,  198,  198,  198,  198,  199,  199,  199,  199,
+      199,  199,  199,  199,  200,  200,  200,  200,  200,  200,
+      201,  201,  201,  201,  201,  202,  202,  202,  203,  203,
+      203,  203,  203,  203,  203,  203,  203,  203,  203,  203,
+      203,  203,  204,  204,  205,  206,  207,  207,  208,  208,
+      209,  210,  211,  211,  212,  212
+    } ;
+
+static yyconst int yy_ec[256] =
     {   0,
         1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
         1,    1,    2,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    2,    1,    4,    1,    5,    6,    1,    1,    1,
         1,    1,    7,    1,    8,    9,    1,   10,   11,   11,
-       11,   11,   11,   11,   11,   11,   11,   12,   13,    1,
-        1,    1,    1,    1,   14,   14,   14,   14,   15,   14,
+       11,   11,   11,   12,   11,   13,   11,   14,   15,    1,
+        1,    1,    1,    1,   16,   16,   16,   16,   17,   16,
         5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
         5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
-        1,    1,    1,    1,   16,    1,   17,   18,   19,   20,
+        1,    1,    1,    1,   18,    1,   19,   20,   21,   22,
 
-       21,   22,   23,   24,   25,    5,   26,   27,   28,   29,
-       30,   31,   32,   33,   34,   35,   36,   37,   38,   39,
-       40,   41,    1,    1,    1,    1,    1,    1,    1,    1,
+       23,   24,   25,   26,   27,    5,   28,   29,   30,   31,
+       32,   33,   34,   35,   36,   37,   38,   39,   40,   41,
+       42,   43,    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,    1,    1,    1,    1,    1,    1,    1,    1,    1,
@@ -477,390 +446,455 @@ static yyconst flex_int32_t yy_ec[256] =
         1,    1,    1,    1,    1
     } ;
 
-static yyconst flex_int32_t yy_meta[42] =
+static yyconst int yy_meta[44] =
     {   0,
         1,    1,    2,    1,    3,    1,    1,    3,    3,    3,
-        3,    4,    1,    3,    3,    3,    3,    3,    3,    3,
+        3,    3,    3,    4,    1,    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
     } ;
 
-static yyconst flex_int16_t yy_base[484] =
+static yyconst short int yy_base[581] =
     {   0,
-        0,    0,  998,  999,  999,  999,  993,  984,   34,   36,
-       38,   42,   46,   50,    0,   52,   57,   54,   68,   62,
-       80,   82,   87,   93,   94,   40,   88,   84,   56,  121,
-      108,  150,  105,  115,  114,  116,  991,  999,  982,  999,
-        0,  139,  141,  144,  154,  120,  159,  176,  179,    0,
-       55,  180,   92,  164,  155,  135,  149,  190,  981,  191,
-      192,  194,  196,  197,  198,  200,  201,  161,  203,  205,
-      212,  122,  214,  218,  202,  219,  222,  229,  233,  224,
-      232,  234,  231,  243,  248,  980,  247,  251,  245,  235,
-      255,  256,  257,  259,  266,  270,  269,  273,  979,  274,
-
-      277,  265,  280,  285,  291,   41,  301,  295,  302,  288,
-      290,  978,    0,  315,  317,  977,  324,  336,    0,  976,
-      289,  319,  975,  321,  974,  325,  973,  328,  329,  339,
-      972,  340,  341,  342,  345,  346,  971,  355,  347,  352,
-      349,  350,  354,  356,  367,  357,  369,  374,  370,  373,
-      375,  377,  381,  383,  386,  388,  387,  389,  391,  970,
-      969,  392,   31,  968,  393,  967,  966,  418,  399,  406,
-      394,  430,  965,  411,  964,  402,  405,  413,  963,  408,
-      418,  435,  400,  440,  442,  436,  437,  438,  443,  444,
-      448,  450,  453,  462,  454,  456,  458,  464,  468,  962,
-
-      470,  999,  474,  491,  480,  493,  496,  480,  474,  484,
-      485,  961,  960,  959,  498,  476,  500,  503,  504,  506,
-      509,  507,  510,  511,  513,  514,  512,  520,  516,  958,
-      526,  524,  528,  531,  532,  535,  536,  538,  540,  957,
-      956,  542,  543,  955,  544,  546,    0,  545,  548,  550,
-      547,  562,  563,  564,  559,  565,  570,  574,  577,  954,
-      578,  566,  953,  952,  580,  951,  588,  590,  591,  592,
-      576,  594,  595,  596,  598,  950,  601,  949,  605,  604,
-      948,  606,  609,  947,  612,  608,  614,  610,  620,  622,
-      623,  627,  628,  629,  630,  632,  946,  633,  945,  634,
-
-      635,  637,  638,  646,  648,  944,  649,  651,  655,  656,
-      658,  659,  943,  654,  664,  942,  941,  940,  939,  938,
-      937,  936,  669,  670,  935,  671,  673,  676,  934,  933,
-      932,  674,  675,  678,  677,  679,  931,  681,  688,  689,
-      930,  692,  929,  691,  695,  694,  693,  698,  699,  928,
-      927,  926,  707,  709,  925,  710,  924,  713,  714,  719,
-      923,  718,  922,  921,  920,  919,  720,  721,  918,  727,
-      729,  917,  916,  915,  730,  728,  914,  913,  912,  911,
-      731,  734,  733,  735,  910,  907,  898,  742,  744,  745,
-      737,  748,  751,  749,  753,  754,  755,  756,  896,  759,
-
-      761,  762,  772,  773,  774,  775,  895,  776,  779,  780,
-      894,  781,  783,  785,  792,  893,  891,  790,  795,  787,
-      791,  805,  890,  807,  888,  887,  884,  788,  809,  798,
-      810,  812,  813,  816,  814,  817,  819,  822,  824,  825,
-      826,  829,  831,  835,  832,  882,  833,  839,  836,  881,
-      847,  843,  846,  850,  880,  853,  849,  876,  857,  860,
-      854,  861,  863,  864,  865,  868,  869,  644,  872,  518,
-      401,  292,  874,  207,  170,  878,  166,  999,  911,  913,
-      137,  917,   99
+        0,    0, 1240, 1241, 1241, 1241, 1235, 1224,   36,   40,
+       44,   50,   56,   62,    0,   63,   66,   81,   89,   47,
+      100,   97,   76,   96,  111,   49,  113,  110,   68,  140,
+      126,  171,  120,  130,  124,  141, 1233, 1241, 1222, 1241,
+        0,  159,  176,  199,  204,   70,  209,  224,  229,    0,
+      137,  165,  143,   72,  169,  159,  230,  215, 1221,  168,
+      182,   31,   69,  187,  240,  191,  242,  243,  244,  248,
+      246,  245,  251,  254,  256,  249,  260,  262,  264,  211,
+      273,  274,  270,  280,  275,  284,  285,  288,  292, 1220,
+      293,  294,  298,  300,  301,  276,  302,  310,  311,  313,
+
+      305,  309,  312,  330,  331, 1219,  334,  320,  322,  338,
+      340,  324,  341,  346,  348,  361,  356,  359,  162,  353,
+      368, 1218,    0,  383,  387, 1217,  401,  418,    0, 1216,
+      376,  370, 1215,  393,  373, 1214,  392, 1213,  406,  407,
+      408,  403, 1212,  419,   95,  420,  372,  409,  421, 1211,
+      425,  431,  428,  430,  433,  435,  432,  440,  443,  444,
+      445,  451,  447,  446,  449,  450,  453,  461,  468,  458,
+      469,  470,  473,  474,  475,  480, 1210, 1209,  481,  482,
+     1208,  483,  485, 1207, 1206,  513,  491,  488,  494,  489,
+      524,  503, 1205,  486, 1204,  487,  525,  527,  250,  528,
+
+     1203,  506,  531,  532,  536,  542,  538,  530,  537,  540,
+      548,  544,  556,  550,  560,  557,  375,  554,  568,  558,
+      571,  493,  576,  564,  582, 1202,  574,  552, 1241,  591,
+      605,  609,  613,  618,  619,  577,  620, 1201,  621,  591,
+     1200, 1199, 1198,  622,  623,  624,  625,  626,  628,  627,
+      632,  630,  634,  633,  635,  644,  642,  643, 1197,  653,
+      655,  657,  658, 1196, 1195,  659,  660,  661,  662,  663,
+      667,  583,  671,  669,  673, 1194, 1193, 1192,  672,  677,
+     1191,  675,  666,  680,    0,  691, 1190,  693,  694,  695,
+      696,  702,  703, 1189,  697,  585,  704,  707, 1188,  709,
+
+      714, 1187,  722,  708, 1186,  726, 1185,  727, 1184, 1183,
+      724,  728,  730,  716,  732,  735, 1182,  738,  741,  742,
+      743, 1181,  744, 1180,  746,  745, 1179,  751, 1178,  755,
+      757, 1177,  751,  754,  764,  771,  772,  763,  499,  766,
+      774,  779,  775,  776,  780,  782, 1176,  783, 1175, 1174,
+      781,  787,  786,  795,  791,  796,  798,  801,  805,  802,
+     1173,  808,  807,  810,  813,  814,  819,  820, 1172,  809,
+      815, 1171, 1170, 1169, 1168, 1167, 1166, 1165,  826,  829,
+      830, 1164,  831,  832,  835, 1163, 1162,  834, 1161, 1160,
+      836,  840,  837,  842,  846, 1159,  848,  850,  851,  852,
+
+      860, 1158,  854,  858, 1157,  861,  862,  864,  870,  866,
+      868,  872, 1156, 1155, 1154,  880,  873, 1153, 1152, 1151,
+      876,  882, 1150,  891,  893,  889,  874, 1149,  899, 1148,
+     1147, 1146, 1145,  887,  895,  901, 1144,  904,  905, 1143,
+     1142, 1141, 1140, 1139,  903,  907, 1138, 1137, 1136, 1135,
+      909,  910,  914,  917,  911, 1134,  920, 1133,  921, 1132,
+     1131,  923,  925,  926,  927,  929, 1130,  931,  933,  934,
+      936,  935,  945,  937,  941, 1129,  947,  948,  953,  955,
+      961,  962,  966,  963,  965, 1128,  967,  969,  971,  968,
+     1127,  974,  978,  975,  979, 1126, 1123, 1113,  980, 1112,
+
+      981,  996,  982,  999, 1111, 1000, 1001, 1002, 1109,  987,
+     1108, 1107, 1004, 1008, 1011, 1013, 1012, 1014, 1016, 1019,
+     1020, 1021, 1022, 1024, 1025, 1104, 1026, 1029, 1031, 1032,
+     1035, 1037, 1038, 1101, 1041, 1047, 1048, 1049, 1051, 1100,
+     1053, 1052, 1054, 1057, 1098, 1058, 1059, 1096, 1065, 1071,
+     1060, 1069, 1072, 1077, 1079, 1082, 1081, 1083, 1084, 1085,
+     1087,  984, 1088,  983,  710,  668, 1092,  664, 1097,  593,
+      345,  214, 1094,  213, 1241, 1129, 1131,  187, 1135,  138
     } ;
 
-static yyconst flex_int16_t yy_def[484] =
+static yyconst short int yy_def[581] =
     {   0,
-      478,    1,  478,  478,  478,  478,  479,  480,  481,  478,
-      480,  480,  480,  480,  482,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  479,  478,  480,  478,
-      483,  483,  478,  478,  480,  480,  480,  480,  480,  482,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  478,  483,  483,  478,  480,  480,  480,   49,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,   49,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-
-      480,  478,  478,  478,  478,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  168,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  478,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,    0,  478,  478,
-      478,  478,  478
+      575,    1,  575,  575,  575,  575,  576,  577,  578,  575,
+      577,  577,  577,  577,  579,  577,  577,  577,  577,  577,
+      577,  577,  577,  577,  577,  577,  577,  577,  577,  577,
+      577,  577,  577,  577,  577,  577,  576,  575,  577,  575,
+      580,  580,  575,  575,  577,  577,  577,  577,  577,  579,
+      577,  577,  577,  577,  577,  577,  577,  577,  577,  577,
+      577,  577,  577,  577,  577,  577,  577,  577,  577,  577,
+      577,  577,  577,  577,  577,  577,  577,  577,  577,  577,
+      577,  577,  577,  577,  577,  577,  577,  577,  577,  577,
+      577,  577,  577,  577,  577,  577,  577,  577,  577,  577,
+
+      577,  577,  577,  577,  577,  577,  577,  577,  577,  577,
+      577,  577,  577,  577,  577,  577,  577,  577,  577,  577,
+      577,  575,  580,  580,  575,  577,  577,  577,   49,  577,
+      577,  577,  577,  577,  577,  577,  577,  577,  577,  577,
+      577,  577,  577,  577,  577,  577,  577,  577,  577,  577,
+      577,  577,  577,  577,  577,  577,  577,  577,  577,  577,
+      577,  577,  577,  577,  577,  577,  577,  577,  577,  577,
+      577,  577,  577,  577,  577,  577,  577,  577,  577,  577,
+      577,  577,  577,  577,  577,   49,  577,  577,  577,  577,
+      577,  577,  577,  577,  577,  577,  577,  577,  577,  577,
+
+      577,  577,  577,  577,  577,  577,  577,  577,  577,  577,
+      577,  577,  577,  577,  577,  577,  577,  577,  577,  577,
+      577,  577,  577,  577,  577,  577,  577,  577,  575,  575,
+      575,  575,  577,  577,  577,  577,  577,  577,  577,  577,
+      577,  577,  577,  577,  577,  577,  577,  577,  577,  577,
+      577,  577,  577,  577,  577,  577,  577,  577,  577,  577,
+      577,  577,  577,  577,  577,  577,  577,  577,  577,  577,
+      577,  577,  577,  577,  577,  577,  577,  577,  577,  577,
+      577,  577,  577,  577,  186,  577,  577,  577,  577,  577,
+      577,  577,  577,  577,  577,  577,  577,  577,  577,  577,
+
+      577,  577,  577,  577,  577,  577,  577,  577,  577,  577,
+      577,  577,  577,  577,  577,  577,  577,  577,  577,  577,
+      577,  577,  577,  577,  577,  577,  577,  575,  577,  577,
+      577,  577,  577,  577,  577,  577,  577,  577,  577,  577,
+      577,  577,  577,  577,  577,  577,  577,  577,  577,  577,
+      577,  577,  577,  577,  577,  577,  577,  577,  577,  577,
+      577,  577,  577,  577,  577,  577,  577,  577,  577,  577,
+      577,  577,  577,  577,  577,  577,  577,  577,  577,  577,
+      577,  577,  577,  577,  577,  577,  577,  577,  577,  577,
+      577,  577,  577,  577,  577,  577,  577,  577,  577,  577,
+
+      577,  577,  577,  577,  577,  577,  577,  577,  577,  577,
+      577,  577,  577,  577,  577,  577,  577,  577,  577,  577,
+      577,  577,  577,  577,  577,  577,  577,  577,  577,  577,
+      577,  577,  577,  577,  577,  577,  577,  577,  577,  577,
+      577,  577,  577,  577,  577,  577,  577,  577,  577,  577,
+      577,  577,  577,  577,  577,  577,  577,  577,  577,  577,
+      577,  577,  577,  577,  577,  577,  577,  577,  577,  577,
+      577,  577,  577,  577,  577,  577,  577,  577,  577,  577,
+      577,  577,  577,  577,  577,  577,  577,  577,  577,  577,
+      577,  577,  577,  577,  577,  577,  577,  577,  577,  577,
+
+      577,  577,  577,  577,  577,  577,  577,  577,  577,  577,
+      577,  577,  577,  577,  577,  577,  577,  577,  577,  577,
+      577,  577,  577,  577,  577,  577,  577,  577,  577,  577,
+      577,  577,  577,  577,  577,  577,  577,  577,  577,  577,
+      577,  577,  577,  577,  577,  577,  577,  577,  577,  577,
+      577,  577,  577,  577,  577,  577,  577,  577,  577,  577,
+      577,  577,  577,  577,  577,  577,  577,  577,  577,  577,
+      577,  577,  577,  577,    0,  575,  575,  575,  575,  575
     } ;
 
-static yyconst flex_int16_t yy_nxt[1041] =
+static yyconst short int yy_nxt[1285] =
     {   0,
         4,    5,    6,    7,    8,    9,   10,   11,   12,   13,
-       14,    4,   15,    8,    8,    8,   16,   17,   18,   19,
-       20,   21,   22,    8,   23,    8,   24,   25,   26,   27,
-       28,    8,   29,   30,   31,   32,   33,   34,   35,    8,
-       36,   42,   40,   43,   43,   44,   44,   45,   45,   40,
-       46,   40,   40,   40,   47,   48,   48,   40,   47,   48,
-       48,   40,  245,   40,  193,   40,   40,   40,   40,   83,
-       60,   51,   61,   40,  120,   84,   89,   56,   52,   40,
-       53,   57,   54,   62,   49,   55,   58,   63,   64,   59,
-       68,   40,   65,   40,   66,   40,   70,   67,   40,   40,
-
-       69,  113,   73,   40,   40,   40,   71,   87,   74,   77,
-       80,  123,   72,   88,   75,   76,   40,   78,   85,   40,
-       86,  107,   79,   81,   98,   40,   40,   40,  116,   82,
-       90,   40,   40,   40,  108,  109,  111,   99,   91,   41,
-      100,   92,  146,  110,   93,   94,   40,  101,  114,  114,
-       43,   43,  115,   44,   44,   95,   96,  126,   97,   90,
-       40,   40,   47,   45,   45,   40,   40,  102,  117,  117,
-       40,  127,   40,  118,  103,   40,  104,   40,  105,  118,
-      140,   40,  125,  106,   47,   48,   48,   40,  119,  119,
-       40,   40,  119,  119,  124,  119,  119,  119,  119,  119,
-
-      119,   40,   40,   40,  121,   40,  122,   40,   40,   40,
-      131,   40,   40,   40,   40,  135,   40,  129,   40,  128,
-      132,  141,  133,   40,  130,   40,  138,  136,  134,   40,
-       40,  143,  149,   40,  137,   40,  139,  142,  144,  153,
-       40,  145,   40,   40,   40,   40,   40,  148,  147,  156,
-      158,  159,  150,  151,   40,  152,   40,  154,   40,   40,
-      160,  157,   40,  155,  163,  161,   40,   40,   40,  162,
-       40,  164,  166,  168,  170,  165,   40,   40,  177,  167,
-       40,   40,  171,  173,   40,   40,  174,  179,   40,  175,
-      172,   40,  176,  180,  169,  178,   40,  181,  183,   40,
-
-       40,   40,   40,   40,  186,  182,   40,  185,  187,  184,
-      189,  208,   40,   40,  188,  190,  194,  195,  199,  197,
-      200,  198,  201,  191,  114,  114,  203,  203,  192,  196,
-       40,  204,   40,  117,  117,   40,   40,  204,  118,   40,
-       40,  210,  205,  206,  118,  207,  207,   40,  209,  211,
-       40,   40,   40,   40,  212,  213,   40,   40,   40,  215,
-       40,   40,  217,   40,  222,   40,   40,   40,   40,  224,
-      225,  218,  219,  214,  216,  220,  223,  230,   40,  221,
-       40,   40,  226,  229,   40,   40,   40,  227,   40,  231,
-      228,  232,   40,  234,   40,  235,  233,   40,   40,   40,
-
-       40,  237,   40,   40,   40,   40,  236,  240,  238,  241,
-       40,   40,   40,   40,  250,  242,   40,   40,  244,   40,
-      239,  246,   40,  256,   40,  257,  243,  247,  247,   40,
-      262,  247,  247,  248,  247,  247,  247,  247,  247,  247,
-      249,   40,  259,  255,  260,  258,   40,   40,   40,   40,
-      251,   40,  252,   40,   40,   40,  253,  261,  254,   40,
-      263,   40,  264,  268,   40,   40,  267,   40,  270,   40,
-      265,  266,  269,   40,  271,   40,  275,  276,  273,   40,
-      277,   40,  272,  203,  203,   40,  274,   40,  204,  280,
-      280,   40,  282,  278,  204,   40,   40,  205,  205,  279,
-
-      280,  280,  207,  207,   40,  207,  207,   40,  281,   40,
-      286,   40,  283,  284,   40,   40,  285,   40,   40,  288,
-       40,   40,   40,   40,   40,   40,  293,   40,  289,   40,
-      296,   40,  297,  292,  287,   40,  291,   40,  298,   40,
-      301,  294,   40,   40,  290,  295,   40,   40,  302,   40,
-      299,   40,  300,   40,   40,   40,   40,   40,   40,   40,
-      305,   40,  306,  303,  304,  313,  308,  307,  315,  310,
-       40,  309,  314,   40,   40,   40,   40,   40,  316,  311,
-      312,   40,  317,  319,  321,   40,  323,   40,   40,   40,
-      324,   40,  328,  322,  325,  326,  318,  320,  327,   40,
-
-      329,   40,   40,   40,  334,   40,   40,   40,  333,   40,
-      330,  331,   40,  280,  280,  332,   40,   40,  337,   40,
-       40,   40,  341,   40,  344,   40,  335,  336,  342,  340,
-      343,   40,  345,   40,   40,  339,  338,  347,   40,   40,
-       40,   40,  346,   40,   40,   40,   40,  350,   40,   40,
-      354,  355,  348,  349,  356,   40,  351,   40,  353,   40,
-       40,  357,   40,  352,  358,   40,   40,   40,  361,   40,
-       40,  363,  359,  364,  360,   40,  365,  362,  366,  367,
-       40,   40,   40,  368,   40,   40,   40,   40,   40,   40,
-       40,  371,   40,  376,  372,  370,  374,  377,  369,   40,
-
-       40,  379,   40,   40,   40,   40,   40,  373,  375,   40,
-       40,  378,  381,  385,  386,  380,  383,  382,   40,  384,
-       40,   40,  390,  391,   40,   40,  387,  388,  389,   40,
-       40,   40,   40,  394,  395,  396,  397,  393,   40,   40,
-       40,   40,   40,  392,   40,   40,   40,  400,   40,  399,
-      401,  403,  398,   40,  402,   40,   40,  404,  405,   40,
-       40,  406,   40,  411,   40,   40,   40,   40,  412,  407,
-       40,  413,   40,   40,  408,  417,  409,  414,  421,  415,
-      416,  420,  410,   40,   40,   40,   40,   40,  422,  418,
-       40,   40,   40,  423,   40,  419,   40,  425,   40,   40,
-
-      428,   40,   40,   40,  439,  435,   40,  429,  424,   40,
-      426,  430,  432,  427,  433,  434,   40,  436,   40,  431,
-       40,   40,  437,   40,   40,   40,  442,   40,   40,  440,
-       40,  438,  441,   40,  445,   40,   40,   40,  449,  443,
-       40,  447,   40,   40,   40,  448,   40,   40,  446,  450,
-       40,  454,  451,  444,   40,  455,  452,   40,   40,  458,
-       40,   40,  459,  453,   40,   40,  456,  460,   40,  465,
-      462,   40,   40,  457,   40,   40,   40,  461,  463,   40,
-       40,  466,  464,   40,  472,   40,  468,   40,  467,   40,
-      469,   40,   40,   40,  476,   40,  471,  470,   40,   40,
-
-      475,   40,   40,  474,   40,   40,   40,   40,  473,   40,
-      477,   37,   37,   37,   37,   39,   39,   50,   40,   50,
-       50,   40,   40,   40,   40,   40,   40,   40,   40,   40,
+       14,   14,   14,    4,   15,    8,    8,    8,   16,   17,
+       18,   19,   20,   21,   22,    8,   23,    8,   24,   25,
+       26,   27,   28,    8,   29,   30,   31,   32,   33,   34,
+       35,    8,   36,   42,   40,   43,   43,   43,   43,   44,
+       44,   44,   44,   45,   45,   45,   45,   40,   46,  144,
+       40,  145,   40,   40,   47,   48,   48,   48,   48,   40,
+       47,   48,   48,   48,   48,   40,   40,   69,  126,   40,
+       87,   40,   40,   40,   51,   40,   88,   70,   56,   40,
+       94,   52,   57,   53,   40,   54,   49,   58,   55,   60,
+
+       59,   61,   40,  146,  134,   78,   79,   64,   40,   40,
+       40,   65,   62,   40,   80,   66,   63,   67,   71,   76,
+       68,   72,   81,   40,   40,   77,   40,   82,   73,   84,
+      245,   83,   74,   40,   75,   91,  119,   40,  116,   40,
+      123,   92,   85,   40,  105,   89,   93,   90,   86,   95,
+       40,  117,  118,   40,   40,  120,   40,  106,  130,   96,
+      107,   97,   98,  121,  133,   99,  100,  108,  124,  124,
+      124,  124,   40,  225,  101,   40,  102,  103,   40,  104,
+       95,   40,   40,  137,   40,   43,   43,   43,   43,   41,
+      109,  131,  110,  132,  135,   40,  141,  111,  136,  112,
+
+       40,  113,  143,  142,   40,  114,  115,  125,   44,   44,
+       44,   44,   47,   45,   45,   45,   45,   40,  127,  127,
+      127,  127,   40,  147,   40,  128,   40,   40,   40,  150,
+      169,  128,   47,   48,   48,   48,   48,   40,  129,  129,
+      129,  129,   40,   40,  129,  129,  140,  129,  129,  129,
+      129,  129,  129,   40,  138,   40,   40,   40,   40,   40,
+      148,   40,   40,   40,   40,  153,  139,   40,  154,   40,
+      151,  158,  149,   40,  156,   40,  160,   40,  162,  299,
+      152,  157,  159,   40,  155,  163,   40,   40,   40,   40,
+      161,  164,  172,   40,  165,  174,  176,   40,   40,  166,
+
+      167,   40,  168,  170,  173,   40,   40,   40,  175,  171,
+      180,   40,  177,   40,   40,   40,  179,  187,   40,  181,
+      182,  178,   40,   40,   40,   40,   40,  199,  188,  184,
+      189,  201,  183,   40,  197,   40,  185,   40,  190,  193,
+      200,  186,  194,   40,   40,  195,  191,   40,  196,  198,
+      192,   40,  207,   40,   40,  212,  202,  203,   40,   40,
+      205,   40,  213,  208,  209,  204,   40,  214,  217,   40,
+      210,  206,   40,  218,   40,  215,  211,  224,  219,  220,
+      216,   40,  222,   40,  223,   40,   40,  226,   40,   40,
+      247,  221,  124,  124,  124,  124,  230,  230,  230,  230,
+
+      235,  236,  227,  231,  317,   40,   40,  238,  228,  231,
+      127,  127,  127,  127,   40,  237,   40,  128,  239,   40,
+       40,   40,   40,  128,  232,  233,  240,  234,  234,  234,
+      234,   40,   40,   40,   40,  241,  242,  248,   40,  243,
+      244,   40,  246,   40,   40,   40,   40,  250,   40,  249,
+      252,  251,  254,   40,  253,  255,   40,   40,   40,   40,
+       40,  260,   40,   40,   40,  267,   40,  256,  258,  266,
+      257,   40,  269,  264,   40,  270,  262,  268,  259,  263,
+      265,   40,   40,   40,  261,  274,   40,   40,   40,  271,
+      273,  276,  272,   40,   40,   40,   40,  277,   40,   40,
+
+       40,   40,   40,  279,   40,  275,   40,   40,  278,  281,
+      296,  289,   40,  283,  322,  282,   40,  280,  410,   40,
+      295,  284,  285,  285,  285,  285,  287,  286,  285,  285,
+      288,  285,  285,  285,  285,  285,  285,   40,   40,  294,
+       40,   40,  301,   40,   40,   40,  290,  297,  291,   40,
+       40,   40,  292,   40,  293,   40,  303,   40,  298,  302,
+      307,   40,  300,   40,  305,   40,  308,   40,  304,   40,
+       40,   40,  306,   40,  312,  309,  310,   40,  313,  311,
+      314,   40,  315,  316,   40,  318,  319,   40,  327,   40,
+       40,  324,  320,  321,  323,   40,   40,  330,   40,  325,
+
+      230,  230,  230,  230,   40,  326,   40,  231,  379,  333,
+      360,  232,  232,  231,  328,  328,  328,  328,  328,  328,
+      328,  328,  234,  234,  234,  234,   40,  234,  234,  234,
+      234,   40,   40,   40,   40,   40,   40,   40,   40,   40,
+       40,   40,  334,   40,  338,   40,   40,   40,   40,  329,
+      331,  332,  343,  337,  339,   40,   40,   40,  342,  335,
+      336,  341,  346,  348,  347,  344,   40,  340,   40,  345,
+       40,   40,   40,   40,   40,   40,   40,   40,  355,   40,
+       40,   40,   40,  356,   40,   40,   40,  354,   40,  349,
+       40,  350,  351,   40,  352,  353,  357,  358,  359,  361,
+
+      362,  363,  367,  364,   40,  365,   40,   40,   40,   40,
+       40,  368,  366,  369,  371,   40,   40,   40,  373,  370,
+       40,   40,   40,   40,  375,  377,  380,   40,  372,   40,
+      381,  382,  374,  378,  383,   40,  385,   40,  376,   40,
+       40,   40,  391,   40,  384,   40,  386,  388,   40,  387,
+      392,   40,  389,  390,   40,   40,   40,   40,   40,   40,
+      328,  328,  328,  328,   40,  393,  396,   40,   40,  399,
+       40,  401,  394,  402,  405,  395,   40,   40,  403,   40,
+      398,  400,  406,  397,   40,   40,  404,   40,   40,   40,
+      408,  407,   40,   40,   40,   40,   40,  409,  411,   40,
+
+       40,  413,  417,  418,   40,  414,  412,  419,   40,   40,
+      416,   40,  415,  420,   40,   40,  421,  422,   40,  423,
+       40,   40,   40,   40,  428,  424,   40,   40,   40,  430,
+      431,  426,   40,   40,  425,  432,  433,  427,  429,   40,
+      436,  434,   40,   40,   40,   40,  435,   40,   40,   40,
+       40,  437,  439,   40,  438,   40,  441,  443,  447,   40,
+      446,   40,  440,   40,   40,   40,  444,   40,  442,  452,
+      449,   40,  445,   40,   40,   40,  451,   40,  448,   40,
+      455,   40,  458,   40,  450,   40,   40,   40,  453,   40,
+      454,  457,  460,   40,  456,   40,  467,  464,  465,  462,
+
+       40,  461,   40,  463,   40,  459,   40,  471,   40,  466,
+      472,  468,   40,  469,   40,  470,   40,   40,   40,  473,
+       40,  474,   40,   40,   40,  475,  477,   40,  478,  479,
+       40,  476,  480,   40,   40,  483,   40,  481,   40,   40,
+       40,  485,   40,  484,   40,  482,   40,   40,   40,   40,
+       40,  492,  487,  493,   40,  491,  486,  488,   40,  489,
+       40,   40,  495,  494,  496,  490,   40,  498,   40,  497,
+      502,  503,  499,  504,   40,   40,   40,  500,   40,   40,
+       40,   40,   40,  505,   40,  501,  507,   40,   40,  509,
+      513,   40,   40,   40,   40,   40,   40,   40,  506,  508,
+
+       40,  517,  514,  519,  510,  511,  518,  512,  515,   40,
+      521,  516,   40,   40,   40,   40,  520,   40,  522,  524,
+      523,   40,  527,  526,   40,   40,   40,   40,  525,   40,
+      528,  530,   40,   40,   40,   40,  533,   40,   40,   40,
+      537,  531,   40,  539,   40,   40,  535,  529,   40,  536,
+       40,   40,  538,  540,   40,  534,  532,  544,  541,  545,
+       40,   40,   40,  542,   40,   40,   40,   40,  543,  548,
+       40,   40,   40,   40,  546,  552,  549,  550,   40,  551,
+      554,  557,   40,  547,   40,   40,  560,  555,  553,  556,
+       40,  559,   40,  558,   40,   40,   40,   40,   40,  561,
+
+       40,   40,  566,  567,  568,   40,  562,   40,  563,   40,
+       40,   40,  572,   40,   40,  564,  565,   40,  571,  573,
+       40,   40,   40,  570,   40,   40,   40,  569,  574,   37,
+       37,   37,   37,   39,   39,   50,   40,   50,   50,   40,
+       40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
-       40,   40,   40,   40,   40,   40,   40,   40,   40,  202,
-       40,   40,   40,   40,  112,   40,   38,  478,    3,  478,
 
-      478,  478,  478,  478,  478,  478,  478,  478,  478,  478,
-      478,  478,  478,  478,  478,  478,  478,  478,  478,  478,
-      478,  478,  478,  478,  478,  478,  478,  478,  478,  478,
-      478,  478,  478,  478,  478,  478,  478,  478,  478,  478
+       40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
+       40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
+       40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
+       40,  229,   40,   40,   40,   40,  122,   40,   38,  575,
+        3,  575,  575,  575,  575,  575,  575,  575,  575,  575,
+      575,  575,  575,  575,  575,  575,  575,  575,  575,  575,
+      575,  575,  575,  575,  575,  575,  575,  575,  575,  575,
+      575,  575,  575,  575,  575,  575,  575,  575,  575,  575,
+      575,  575,  575,  575
     } ;
 
-static yyconst flex_int16_t yy_chk[1041] =
+static yyconst short int yy_chk[1285] =
     {   0,
         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,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    9,  163,    9,    9,   10,   10,   11,   11,   11,
-       12,   26,  106,   12,   13,   13,   13,   13,   14,   14,
-       14,   14,  163,   16,  106,   18,   51,   29,   17,   26,
-       18,   16,   18,   20,   51,   26,   29,   17,   16,   19,
-       16,   17,   16,   18,   13,   16,   17,   18,   19,   17,
-       20,   21,   19,   22,   19,   28,   21,   19,   23,   27,
-
-       20,  483,   22,   53,   24,   25,   21,   28,   22,   24,
-       25,   53,   21,   28,   23,   23,   33,   24,   27,   31,
-       27,   33,   24,   25,   31,   35,   34,   36,   46,   25,
-       30,   46,   30,   72,   33,   34,   36,   31,   30,  481,
-       31,   30,   72,   35,   30,   30,   56,   31,   42,   42,
-       43,   43,   44,   44,   44,   30,   30,   56,   30,   32,
-       57,   32,   45,   45,   45,   45,   55,   32,   47,   47,
-       47,   57,   68,   47,   32,   54,   32,  477,   32,   47,
-       68,  475,   55,   32,   48,   48,   48,   48,   49,   49,
-       49,   52,   49,   49,   54,   49,   49,   49,   49,   49,
-
-       49,   58,   60,   61,   52,   62,   52,   63,   64,   65,
-       61,   66,   67,   75,   69,   64,   70,   60,  474,   58,
-       62,   69,   62,   71,   60,   73,   66,   64,   63,   74,
-       76,   70,   75,   77,   65,   80,   67,   69,   70,   77,
-       78,   71,   83,   81,   79,   82,   90,   74,   73,   79,
-       80,   81,   76,   76,   84,   76,   89,   78,   87,   85,
-       82,   79,   88,   78,   85,   83,   91,   92,   93,   84,
-       94,   87,   89,   90,   92,   88,  102,   95,   94,   89,
-       97,   96,   92,   93,   98,  100,   93,   96,  101,   93,
-       92,  103,   93,   97,   91,   95,  104,   98,  100,  110,
-
-      121,  111,  105,  472,  102,   98,  108,  101,  103,  100,
-      105,  121,  107,  109,  104,  105,  107,  107,  109,  108,
-      110,  108,  111,  105,  114,  114,  115,  115,  105,  107,
-      122,  115,  124,  117,  117,  117,  126,  115,  117,  128,
-      129,  124,  118,  118,  117,  118,  118,  118,  122,  126,
-      130,  132,  133,  134,  128,  129,  135,  136,  139,  132,
-      141,  142,  134,  140,  139,  143,  138,  144,  146,  141,
-      142,  135,  136,  130,  133,  138,  140,  146,  145,  138,
-      147,  149,  142,  145,  150,  148,  151,  143,  152,  147,
-      144,  148,  153,  150,  154,  151,  149,  155,  157,  156,
-
-      158,  153,  159,  162,  165,  171,  152,  156,  154,  157,
-      169,  183,  471,  176,  171,  158,  177,  170,  162,  180,
-      155,  165,  174,  176,  178,  177,  159,  168,  168,  181,
-      183,  168,  168,  169,  168,  168,  168,  168,  168,  168,
-      170,  172,  180,  174,  181,  178,  182,  186,  187,  188,
-      172,  184,  172,  185,  189,  190,  172,  182,  172,  191,
-      184,  192,  185,  189,  193,  195,  188,  196,  191,  197,
-      186,  187,  190,  194,  192,  198,  196,  197,  194,  199,
-      198,  201,  193,  203,  203,  209,  195,  216,  203,  205,
-      205,  208,  209,  199,  203,  210,  211,  204,  204,  201,
-
-      204,  204,  206,  206,  206,  207,  207,  207,  208,  215,
-      216,  217,  210,  211,  218,  219,  215,  220,  222,  218,
-      221,  223,  224,  227,  225,  226,  223,  229,  219,  470,
-      226,  228,  227,  222,  217,  232,  221,  231,  228,  233,
-      232,  224,  234,  235,  220,  225,  236,  237,  233,  238,
-      229,  239,  231,  242,  243,  245,  248,  246,  251,  249,
-      236,  250,  237,  234,  235,  248,  239,  238,  250,  243,
-      255,  242,  249,  252,  253,  254,  256,  262,  251,  245,
-      246,  257,  252,  253,  254,  258,  256,  271,  259,  261,
-      257,  265,  262,  255,  258,  259,  252,  253,  261,  267,
-
-      265,  268,  269,  270,  271,  272,  273,  274,  270,  275,
-      267,  268,  277,  280,  280,  269,  279,  282,  274,  286,
-      283,  288,  282,  285,  286,  287,  272,  273,  283,  279,
-      285,  289,  287,  290,  291,  277,  275,  289,  292,  293,
-      294,  295,  288,  296,  298,  300,  301,  292,  302,  303,
-      296,  298,  290,  291,  300,  468,  293,  304,  295,  305,
-      307,  301,  308,  294,  302,  314,  309,  310,  305,  311,
-      312,  308,  303,  309,  304,  315,  310,  307,  311,  312,
-      323,  324,  326,  314,  327,  332,  333,  328,  335,  334,
-      336,  324,  338,  333,  326,  323,  328,  334,  315,  339,
-
-      340,  336,  344,  342,  347,  346,  345,  327,  332,  348,
-      349,  335,  339,  345,  346,  338,  342,  340,  353,  344,
-      354,  356,  353,  353,  358,  359,  347,  348,  349,  362,
-      360,  367,  368,  358,  359,  360,  362,  356,  370,  376,
-      371,  375,  381,  354,  383,  382,  384,  370,  391,  368,
-      371,  376,  367,  388,  375,  389,  390,  381,  382,  392,
-      394,  383,  393,  391,  395,  396,  397,  398,  392,  384,
-      400,  393,  401,  402,  388,  397,  389,  394,  402,  395,
-      396,  401,  390,  403,  404,  405,  406,  408,  403,  398,
-      409,  410,  412,  404,  413,  400,  414,  406,  420,  428,
-
-      410,  418,  421,  415,  428,  420,  419,  412,  405,  430,
-      408,  413,  415,  409,  418,  419,  422,  421,  424,  414,
-      429,  431,  422,  432,  433,  435,  431,  434,  436,  429,
-      437,  424,  430,  438,  434,  439,  440,  441,  438,  432,
-      442,  436,  443,  445,  447,  437,  444,  449,  435,  439,
-      448,  443,  440,  433,  452,  444,  441,  453,  451,  448,
-      457,  454,  449,  442,  456,  461,  445,  451,  459,  457,
-      453,  460,  462,  447,  463,  464,  465,  452,  454,  466,
-      467,  459,  456,  469,  465,  473,  461,  458,  460,  476,
-      462,  455,  450,  446,  473,  427,  464,  463,  426,  425,
-
-      469,  423,  417,  467,  416,  411,  407,  399,  466,  387,
-      476,  479,  479,  479,  479,  480,  480,  482,  386,  482,
-      482,  385,  380,  379,  378,  377,  374,  373,  372,  369,
-      366,  365,  364,  363,  361,  357,  355,  352,  351,  350,
-      343,  341,  337,  331,  330,  329,  325,  322,  321,  320,
-      319,  318,  317,  316,  313,  306,  299,  297,  284,  281,
-      278,  276,  266,  264,  263,  260,  244,  241,  240,  230,
-      214,  213,  212,  200,  179,  175,  173,  167,  166,  164,
-      161,  160,  137,  131,  127,  125,  123,  120,  116,  112,
-       99,   86,   59,   39,   37,    8,    7,    3,  478,  478,
-
-      478,  478,  478,  478,  478,  478,  478,  478,  478,  478,
-      478,  478,  478,  478,  478,  478,  478,  478,  478,  478,
-      478,  478,  478,  478,  478,  478,  478,  478,  478,  478,
-      478,  478,  478,  478,  478,  478,  478,  478,  478,  478
+        1,    1,    1,    9,   62,    9,    9,    9,    9,   10,
+       10,   10,   10,   11,   11,   11,   11,   11,   12,   62,
+       20,   62,   26,   12,   13,   13,   13,   13,   13,   13,
+       14,   14,   14,   14,   14,   14,   16,   20,   46,   17,
+       26,   29,   63,   46,   16,   54,   26,   20,   17,   23,
+       29,   16,   17,   16,   18,   16,   13,   17,   16,   18,
+
+       17,   18,   19,   63,   54,   23,   23,   19,  145,   24,
+       22,   19,   18,   21,   24,   19,   18,   19,   21,   22,
+       19,   21,   24,   28,   25,   22,   27,   24,   21,   25,
+      145,   24,   21,   33,   21,   28,   35,   35,   33,   31,
+      580,   28,   25,   34,   31,   27,   28,   27,   25,   30,
+       51,   33,   34,   30,   36,   35,   53,   31,   51,   30,
+       31,   30,   30,   36,   53,   30,   30,   31,   42,   42,
+       42,   42,   56,  119,   30,  119,   30,   30,   52,   30,
+       32,   60,   55,   56,   32,   43,   43,   43,   43,  578,
+       32,   52,   32,   52,   55,   61,   60,   32,   55,   32,
+
+       64,   32,   61,   60,   66,   32,   32,   44,   44,   44,
+       44,   44,   45,   45,   45,   45,   45,   45,   47,   47,
+       47,   47,   47,   64,   80,   47,  574,  572,   58,   66,
+       80,   47,   48,   48,   48,   48,   48,   48,   49,   49,
+       49,   49,   49,   57,   49,   49,   58,   49,   49,   49,
+       49,   49,   49,   65,   57,   67,   68,   69,   72,   71,
+       65,   70,   76,  199,   73,   69,   57,   74,   70,   75,
+       67,   72,   65,   77,   71,   78,   74,   79,   75,  199,
+       68,   71,   73,   83,   70,   76,   81,   82,   85,   96,
+       74,   77,   82,   84,   78,   83,   85,   86,   87,   79,
+
+       79,   88,   79,   81,   82,   89,   91,   92,   84,   81,
+       89,   93,   86,   94,   95,   97,   88,   96,  101,   91,
+       92,   87,  102,   98,   99,  103,  100,  101,   97,   94,
+       98,  103,   93,  108,  100,  109,   94,  112,   98,   99,
+      102,   95,   99,  104,  105,   99,   98,  107,   99,  100,
+       98,  110,  108,  111,  113,  112,  104,  105,  571,  114,
+      107,  115,  113,  109,  110,  105,  120,  113,  114,  117,
+      111,  107,  118,  115,  116,  113,  111,  118,  116,  116,
+      113,  121,  117,  132,  117,  147,  135,  120,  217,  131,
+      147,  116,  124,  124,  124,  124,  125,  125,  125,  125,
+
+      131,  132,  121,  125,  217,  137,  134,  135,  121,  125,
+      127,  127,  127,  127,  127,  134,  142,  127,  137,  139,
+      140,  141,  148,  127,  128,  128,  139,  128,  128,  128,
+      128,  128,  144,  146,  149,  140,  141,  148,  151,  142,
+      144,  153,  146,  154,  152,  157,  155,  151,  156,  149,
+      152,  151,  154,  158,  153,  155,  159,  160,  161,  164,
+      163,  159,  165,  166,  162,  164,  167,  155,  157,  163,
+      156,  170,  166,  162,  168,  167,  161,  165,  158,  161,
+      162,  169,  171,  172,  160,  170,  173,  174,  175,  167,
+      169,  172,  168,  176,  179,  180,  182,  173,  183,  194,
+
+      196,  188,  190,  175,  187,  171,  222,  189,  174,  179,
+      196,  190,  339,  182,  222,  180,  192,  176,  339,  202,
+      194,  183,  186,  186,  186,  186,  188,  187,  186,  186,
+      189,  186,  186,  186,  186,  186,  186,  191,  197,  192,
+      198,  200,  202,  208,  203,  204,  191,  197,  191,  205,
+      209,  207,  191,  210,  191,  206,  204,  212,  198,  203,
+      207,  211,  200,  214,  206,  228,  208,  218,  205,  213,
+      216,  220,  206,  215,  212,  209,  210,  224,  213,  211,
+      214,  219,  215,  216,  221,  218,  219,  227,  228,  223,
+      236,  224,  220,  221,  223,  225,  272,  236,  296,  225,
+
+      230,  230,  230,  230,  240,  227,  570,  230,  296,  240,
+      272,  231,  231,  230,  231,  231,  231,  231,  232,  232,
+      232,  232,  233,  233,  233,  233,  233,  234,  234,  234,
+      234,  234,  235,  237,  239,  244,  245,  246,  247,  248,
+      250,  249,  244,  252,  248,  251,  254,  253,  255,  235,
+      237,  239,  253,  247,  249,  257,  258,  256,  252,  245,
+      246,  251,  256,  258,  257,  254,  260,  250,  261,  255,
+      262,  263,  266,  267,  268,  269,  270,  568,  267,  283,
+      271,  566,  274,  268,  273,  279,  275,  266,  282,  260,
+      280,  261,  262,  284,  262,  263,  269,  270,  271,  273,
+
+      274,  275,  283,  279,  286,  280,  288,  289,  290,  291,
+      295,  284,  282,  286,  289,  292,  293,  297,  291,  288,
+      298,  304,  300,  565,  292,  293,  297,  301,  290,  314,
+      298,  300,  291,  295,  301,  303,  304,  311,  292,  306,
+      308,  312,  314,  313,  303,  315,  306,  311,  316,  308,
+      315,  318,  312,  313,  319,  320,  321,  323,  326,  325,
+      328,  328,  328,  328,  333,  316,  320,  334,  330,  325,
+      331,  326,  318,  330,  334,  319,  338,  335,  331,  340,
+      323,  325,  335,  321,  336,  337,  333,  341,  343,  344,
+      337,  336,  342,  345,  351,  346,  348,  338,  340,  353,
+
+      352,  342,  346,  348,  355,  343,  341,  351,  354,  356,
+      345,  357,  344,  352,  358,  360,  353,  354,  359,  355,
+      363,  362,  370,  364,  360,  356,  365,  366,  371,  363,
+      364,  358,  367,  368,  357,  365,  366,  359,  362,  379,
+      370,  367,  380,  381,  383,  384,  368,  388,  385,  391,
+      393,  371,  380,  392,  379,  394,  383,  385,  393,  395,
+      392,  397,  381,  398,  399,  400,  388,  403,  384,  399,
+      395,  404,  391,  401,  406,  407,  398,  408,  394,  410,
+      403,  411,  407,  409,  397,  412,  417,  427,  400,  421,
+      401,  406,  409,  416,  404,  422,  421,  416,  416,  411,
+
+      434,  410,  426,  412,  424,  408,  425,  426,  435,  417,
+      427,  422,  429,  424,  436,  425,  445,  438,  439,  429,
+      446,  434,  451,  452,  455,  435,  438,  453,  439,  445,
+      454,  436,  446,  457,  459,  453,  462,  451,  463,  464,
+      465,  455,  466,  454,  468,  452,  469,  470,  472,  471,
+      474,  466,  459,  468,  475,  465,  457,  462,  473,  463,
+      477,  478,  470,  469,  471,  464,  479,  473,  480,  472,
+      478,  479,  474,  480,  481,  482,  484,  475,  485,  483,
+      487,  490,  488,  481,  489,  477,  483,  492,  494,  485,
+      490,  493,  495,  499,  501,  503,  564,  562,  482,  484,
+
+      510,  495,  492,  501,  487,  488,  499,  489,  493,  502,
+      503,  494,  504,  506,  507,  508,  502,  513,  504,  507,
+      506,  514,  513,  510,  515,  517,  516,  518,  508,  519,
+      514,  516,  520,  521,  522,  523,  519,  524,  525,  527,
+      523,  517,  528,  525,  529,  530,  521,  515,  531,  522,
+      532,  533,  524,  527,  535,  520,  518,  531,  528,  532,
+      536,  537,  538,  529,  539,  542,  541,  543,  530,  536,
+      544,  546,  547,  551,  533,  541,  537,  538,  549,  539,
+      543,  547,  552,  535,  550,  553,  551,  544,  542,  546,
+      554,  550,  555,  549,  557,  556,  558,  559,  560,  552,
+
+      561,  563,  557,  558,  559,  567,  553,  573,  554,  548,
+      569,  545,  567,  540,  534,  555,  556,  526,  563,  569,
+      512,  511,  509,  561,  505,  500,  498,  560,  573,  576,
+      576,  576,  576,  577,  577,  579,  497,  579,  579,  496,
+      491,  486,  476,  467,  461,  460,  458,  456,  450,  449,
+      448,  447,  444,  443,  442,  441,  440,  437,  433,  432,
+      431,  430,  428,  423,  420,  419,  418,  415,  414,  413,
+      405,  402,  396,  390,  389,  387,  386,  382,  378,  377,
+      376,  375,  374,  373,  372,  369,  361,  350,  349,  347,
+      332,  329,  327,  324,  322,  317,  310,  309,  307,  305,
+
+      302,  299,  294,  287,  281,  278,  277,  276,  265,  264,
+      259,  243,  242,  241,  238,  226,  201,  195,  193,  185,
+      184,  181,  178,  177,  150,  143,  138,  136,  133,  130,
+      126,  122,  106,   90,   59,   39,   37,    8,    7,    3,
+      575,  575,  575,  575,  575,  575,  575,  575,  575,  575,
+      575,  575,  575,  575,  575,  575,  575,  575,  575,  575,
+      575,  575,  575,  575,  575,  575,  575,  575,  575,  575,
+      575,  575,  575,  575,  575,  575,  575,  575,  575,  575,
+      575,  575,  575,  575
     } ;
 
-/* Table of booleans, true if rule could match eol. */
-static yyconst flex_int32_t yy_rule_can_match_eol[112] =
-    {   0,
-0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,     };
-
-static yy_state_type yy_last_accepting_state;
-static char *yy_last_accepting_cpos;
-
-extern int llvmAsm_flex_debug;
-int llvmAsm_flex_debug = 0;
-
-/* The intent behind this definition is that it'll catch
- * any uses of REJECT which flex missed.
- */
-#define REJECT reject_used_but_not_detected
+static yy_state_type yy_state_buf[YY_BUF_SIZE + 2], *yy_state_ptr;
+static char *yy_full_match;
+static int yy_lp;
+#define REJECT \
+{ \
+*yy_cp = yy_hold_char; /* undo effects of setting up yytext */ \
+yy_cp = yy_full_match; /* restore poss. backed-over text */ \
+++yy_lp; \
+goto find_rule; \
+}
 #define yymore() yymore_used_but_not_detected
 #define YY_MORE_ADJ 0
 #define YY_RESTORE_YY_MORE_OFFSET
-char *llvmAsmtext;
-#line 1 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+char *yytext;
+#line 1 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#define INITIAL 0
 /*===-- Lexer.l - Scanner for llvm assembly files --------------*- C++ -*--===//
 //
 //                     The LLVM Compiler Infrastructure
@@ -873,7 +907,8 @@ char *llvmAsmtext;
 //  This file implements the flex scanner for LLVM assembly languages files.
 //
 //===----------------------------------------------------------------------===*/
-#line 28 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#define YY_NEVER_INTERACTIVE 1
+#line 28 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 #include "ParserInternals.h"
 #include "llvm/Module.h"
 #include <list>
@@ -882,14 +917,29 @@ char *llvmAsmtext;
 #include <cstdlib>
 
 void set_scan_file(FILE * F){
-  llvmAsm_switch_to_buffer(llvmAsm_create_buffer(F,YY_BUF_SIZE ) );
+  yy_switch_to_buffer(yy_create_buffer( F, YY_BUF_SIZE ) );
 }
 void set_scan_string (const char * str) {
-  llvmAsm_scan_string (str);
+  yy_scan_string (str);
 }
 
+// Construct a token value for a non-obsolete token
 #define RET_TOK(type, Enum, sym) \
-  llvmAsmlval.type = Instruction::Enum; return sym
+  llvmAsmlval.type.opcode = Instruction::Enum; \
+  llvmAsmlval.type.obsolete = false; \
+  return sym
+
+// Construct a token value for an obsolete token
+#define RET_TOK_OBSOLETE(type, Enum, sym) \
+  llvmAsmlval.type.opcode = Instruction::Enum; \
+  llvmAsmlval.type.obsolete = true; \
+  return sym
+
+// Construct a token value for an obsolete token
+#define RET_TY(CTYPE, SIGN, SYM) \
+  llvmAsmlval.TypeVal.type = new PATypeHolder(CTYPE); \
+  llvmAsmlval.TypeVal.signedness = SIGN; \
+  return SYM
 
 namespace llvm {
 
@@ -999,23 +1049,7 @@ using namespace llvm;
 /* HexIntConstant - Hexadecimal constant generated by the CFE to avoid forcing
  * it to deal with 64 bit numbers.
  */
-#line 1003 "Lexer.cpp"
-
-#define INITIAL 0
-
-#ifndef YY_NO_UNISTD_H
-/* Special case for "unistd.h", since it is non-ANSI. We include it way
- * down here because we want the user's section 1 to have been scanned first.
- * The user has a chance to override it with an option.
- */
-#include <unistd.h>
-#endif
-
-#ifndef YY_EXTRA_TYPE
-#define YY_EXTRA_TYPE void *
-#endif
-
-static int yy_init_globals (void );
+#line 1053 "Lexer.cpp"
 
 /* Macros after this point can all be overridden by user definitions in
  * section 1.
@@ -1023,30 +1057,65 @@ static int yy_init_globals (void );
 
 #ifndef YY_SKIP_YYWRAP
 #ifdef __cplusplus
-extern "C" int llvmAsmwrap (void );
+extern "C" int yywrap YY_PROTO(( void ));
 #else
-extern int llvmAsmwrap (void );
+extern int yywrap YY_PROTO(( void ));
 #endif
 #endif
 
-    static inline void yyunput (int c,char *buf_ptr  );
-    
+#ifndef YY_NO_UNPUT
+static inline void yyunput YY_PROTO(( int c, char *buf_ptr ));
+#endif
+
 #ifndef yytext_ptr
-static void yy_flex_strncpy (char *,yyconst char *,int );
+static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));
 #endif
 
 #ifdef YY_NEED_STRLEN
-static int yy_flex_strlen (yyconst char * );
+static int yy_flex_strlen YY_PROTO(( yyconst char * ));
 #endif
 
 #ifndef YY_NO_INPUT
-
 #ifdef __cplusplus
-static int yyinput (void );
+static int yyinput YY_PROTO(( void ));
+#else
+static int input YY_PROTO(( void ));
+#endif
+#endif
+
+#if YY_STACK_USED
+static int yy_start_stack_ptr = 0;
+static int yy_start_stack_depth = 0;
+static int *yy_start_stack = 0;
+#ifndef YY_NO_PUSH_STATE
+static void yy_push_state YY_PROTO(( int new_state ));
+#endif
+#ifndef YY_NO_POP_STATE
+static void yy_pop_state YY_PROTO(( void ));
+#endif
+#ifndef YY_NO_TOP_STATE
+static int yy_top_state YY_PROTO(( void ));
+#endif
+
 #else
-static int input (void );
+#define YY_NO_PUSH_STATE 1
+#define YY_NO_POP_STATE 1
+#define YY_NO_TOP_STATE 1
 #endif
 
+#ifdef YY_MALLOC_DECL
+YY_MALLOC_DECL
+#else
+#if __STDC__
+#ifndef __cplusplus
+#include <stdlib.h>
+#endif
+#else
+/* Just try to get by without declaring the routines.  This will fail
+ * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int)
+ * or sizeof(void*) != sizeof(int).
+ */
+#endif
 #endif
 
 /* Amount of stuff to slurp up with each read. */
@@ -1055,11 +1124,12 @@ static int input (void );
 #endif
 
 /* Copy whatever the last rule matched to the standard output. */
+
 #ifndef ECHO
 /* This used to be an fputs(), but since the string might contain NUL's,
  * we now use fwrite().
  */
-#define ECHO (void) fwrite( llvmAsmtext, llvmAsmleng, 1, llvmAsmout )
+#define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
 #endif
 
 /* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
@@ -1067,35 +1137,21 @@ static int input (void );
  */
 #ifndef YY_INPUT
 #define YY_INPUT(buf,result,max_size) \
-       if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
+       if ( yy_current_buffer->yy_is_interactive ) \
                { \
-               int c = '*'; \
-               size_t n; \
+               int c = '*', n; \
                for ( n = 0; n < max_size && \
-                            (c = getc( llvmAsmin )) != EOF && c != '\n'; ++n ) \
+                            (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
                        buf[n] = (char) c; \
                if ( c == '\n' ) \
                        buf[n++] = (char) c; \
-               if ( c == EOF && ferror( llvmAsmin ) ) \
+               if ( c == EOF && ferror( yyin ) ) \
                        YY_FATAL_ERROR( "input in flex scanner failed" ); \
                result = n; \
                } \
-       else \
-               { \
-               errno=0; \
-               while ( (result = fread(buf, 1, max_size, llvmAsmin))==0 && ferror(llvmAsmin)) \
-                       { \
-                       if( errno != EINTR) \
-                               { \
-                               YY_FATAL_ERROR( "input in flex scanner failed" ); \
-                               break; \
-                               } \
-                       errno=0; \
-                       clearerr(llvmAsmin); \
-                       } \
-               }\
-\
-
+       else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \
+                 && ferror( yyin ) ) \
+               YY_FATAL_ERROR( "input in flex scanner failed" );
 #endif
 
 /* No semi-colon after return; correct usage is to write "yyterminate();" -
@@ -1116,20 +1172,14 @@ static int input (void );
 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
 #endif
 
-/* end tables serialization structures and prototypes */
-
 /* Default declaration of generated scanner - a define so the user can
  * easily add parameters.
  */
 #ifndef YY_DECL
-#define YY_DECL_IS_OURS 1
-
-extern int llvmAsmlex (void);
-
-#define YY_DECL int llvmAsmlex (void)
-#endif /* !YY_DECL */
+#define YY_DECL int yylex YY_PROTO(( void ))
+#endif
 
-/* Code executed at the beginning of each rule, after llvmAsmtext and llvmAsmleng
+/* Code executed at the beginning of each rule, after yytext and yyleng
  * have been set up.
  */
 #ifndef YY_USER_ACTION
@@ -1144,744 +1194,856 @@ extern int llvmAsmlex (void);
 #define YY_RULE_SETUP \
        YY_USER_ACTION
 
-/** The main scanner function which does all the work.
- */
 YY_DECL
-{
+       {
        register yy_state_type yy_current_state;
-       register char *yy_cp, *yy_bp;
+       register char *yy_cp = NULL, *yy_bp = NULL;
        register int yy_act;
-    
-#line 179 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 
+#line 194 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 
-#line 1159 "Lexer.cpp"
 
-       if ( !(yy_init) )
+#line 1207 "Lexer.cpp"
+
+       if ( yy_init )
                {
-               (yy_init) = 1;
+               yy_init = 0;
 
 #ifdef YY_USER_INIT
                YY_USER_INIT;
 #endif
 
-               if ( ! (yy_start) )
-                       (yy_start) = 1; /* first start state */
+               if ( ! yy_start )
+                       yy_start = 1;   /* first start state */
 
-               if ( ! llvmAsmin )
-                       llvmAsmin = stdin;
+               if ( ! yyin )
+                       yyin = stdin;
 
-               if ( ! llvmAsmout )
-                       llvmAsmout = stdout;
+               if ( ! yyout )
+                       yyout = stdout;
 
-               if ( ! YY_CURRENT_BUFFER ) {
-                       llvmAsmensure_buffer_stack ();
-                       YY_CURRENT_BUFFER_LVALUE =
-                               llvmAsm_create_buffer(llvmAsmin,YY_BUF_SIZE );
-               }
+               if ( ! yy_current_buffer )
+                       yy_current_buffer =
+                               yy_create_buffer( yyin, YY_BUF_SIZE );
 
-               llvmAsm_load_buffer_state( );
+               yy_load_buffer_state();
                }
 
        while ( 1 )             /* loops until end-of-file is reached */
                {
-               yy_cp = (yy_c_buf_p);
+               yy_cp = yy_c_buf_p;
 
-               /* Support of llvmAsmtext. */
-               *yy_cp = (yy_hold_char);
+               /* Support of yytext. */
+               *yy_cp = yy_hold_char;
 
                /* yy_bp points to the position in yy_ch_buf of the start of
                 * the current run.
                 */
                yy_bp = yy_cp;
 
-               yy_current_state = (yy_start);
+               yy_current_state = yy_start;
+               yy_state_ptr = yy_state_buf;
+               *yy_state_ptr++ = yy_current_state;
 yy_match:
                do
                        {
                        register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
-                       if ( yy_accept[yy_current_state] )
-                               {
-                               (yy_last_accepting_state) = yy_current_state;
-                               (yy_last_accepting_cpos) = yy_cp;
-                               }
                        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 >= 479 )
+                               if ( yy_current_state >= 576 )
                                        yy_c = yy_meta[(unsigned int) yy_c];
                                }
                        yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
+                       *yy_state_ptr++ = yy_current_state;
                        ++yy_cp;
                        }
-               while ( yy_current_state != 478 );
-               yy_cp = (yy_last_accepting_cpos);
-               yy_current_state = (yy_last_accepting_state);
+               while ( yy_current_state != 575 );
 
 yy_find_action:
-               yy_act = yy_accept[yy_current_state];
+               yy_current_state = *--yy_state_ptr;
+               yy_lp = yy_accept[yy_current_state];
+find_rule: /* we branch to this label when backing up */
+               for ( ; ; ) /* until we find what rule we matched */
+                       {
+                       if ( yy_lp && yy_lp < yy_accept[yy_current_state + 1] )
+                               {
+                               yy_act = yy_acclist[yy_lp];
+                                       {
+                                       yy_full_match = yy_cp;
+                                       break;
+                                       }
+                               }
+                       --yy_cp;
+                       yy_current_state = *--yy_state_ptr;
+                       yy_lp = yy_accept[yy_current_state];
+                       }
 
                YY_DO_BEFORE_ACTION;
 
-               if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
+               if ( yy_act != YY_END_OF_BUFFER )
                        {
                        int yyl;
-                       for ( yyl = 0; yyl < llvmAsmleng; ++yyl )
-                               if ( llvmAsmtext[yyl] == '\n' )
-                                          
-    llvmAsmlineno++;
-;
+                       for ( yyl = 0; yyl < yyleng; ++yyl )
+                               if ( yytext[yyl] == '\n' )
+                                       ++yylineno;
                        }
 
 do_action:     /* This label is used only to access EOF actions. */
 
+
                switch ( yy_act )
        { /* beginning of action switch */
-                       case 0: /* must back up */
-                       /* undo the effects of YY_DO_BEFORE_ACTION */
-                       *yy_cp = (yy_hold_char);
-                       yy_cp = (yy_last_accepting_cpos);
-                       yy_current_state = (yy_last_accepting_state);
-                       goto yy_find_action;
-
 case 1:
 YY_RULE_SETUP
-#line 181 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 196 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { /* Ignore comments for now */ }
        YY_BREAK
 case 2:
 YY_RULE_SETUP
-#line 183 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 198 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return BEGINTOK; }
        YY_BREAK
 case 3:
 YY_RULE_SETUP
-#line 184 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 199 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return ENDTOK; }
        YY_BREAK
 case 4:
 YY_RULE_SETUP
-#line 185 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 200 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return TRUETOK;  }
        YY_BREAK
 case 5:
 YY_RULE_SETUP
-#line 186 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 201 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return FALSETOK; }
        YY_BREAK
 case 6:
 YY_RULE_SETUP
-#line 187 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 202 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return DECLARE; }
        YY_BREAK
 case 7:
 YY_RULE_SETUP
-#line 188 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 203 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return GLOBAL; }
        YY_BREAK
 case 8:
 YY_RULE_SETUP
-#line 189 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 204 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return CONSTANT; }
        YY_BREAK
 case 9:
 YY_RULE_SETUP
-#line 190 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 205 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return INTERNAL; }
        YY_BREAK
 case 10:
 YY_RULE_SETUP
-#line 191 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 206 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return LINKONCE; }
        YY_BREAK
 case 11:
 YY_RULE_SETUP
-#line 192 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 207 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return WEAK; }
        YY_BREAK
 case 12:
 YY_RULE_SETUP
-#line 193 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 208 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return APPENDING; }
        YY_BREAK
 case 13:
 YY_RULE_SETUP
-#line 194 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 209 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return DLLIMPORT; }
        YY_BREAK
 case 14:
 YY_RULE_SETUP
-#line 195 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 210 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return DLLEXPORT; }
        YY_BREAK
 case 15:
 YY_RULE_SETUP
-#line 196 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 211 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return EXTERN_WEAK; }
        YY_BREAK
 case 16:
 YY_RULE_SETUP
-#line 197 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 212 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return EXTERNAL; }    /* Deprecated, turn into external */
        YY_BREAK
 case 17:
 YY_RULE_SETUP
-#line 198 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 213 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return EXTERNAL; }
        YY_BREAK
 case 18:
 YY_RULE_SETUP
-#line 199 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 214 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return IMPLEMENTATION; }
        YY_BREAK
 case 19:
 YY_RULE_SETUP
-#line 200 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 215 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return ZEROINITIALIZER; }
        YY_BREAK
 case 20:
 YY_RULE_SETUP
-#line 201 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 216 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return DOTDOTDOT; }
        YY_BREAK
 case 21:
 YY_RULE_SETUP
-#line 202 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 217 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return UNDEF; }
        YY_BREAK
 case 22:
 YY_RULE_SETUP
-#line 203 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 218 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return NULL_TOK; }
        YY_BREAK
 case 23:
 YY_RULE_SETUP
-#line 204 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 219 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return TO; }
        YY_BREAK
 case 24:
 YY_RULE_SETUP
-#line 205 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 220 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { RET_TOK(TermOpVal, Unwind, UNWIND); }
        YY_BREAK
 case 25:
 YY_RULE_SETUP
-#line 206 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 221 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return NOT; }  /* Deprecated, turned into XOR */
        YY_BREAK
 case 26:
 YY_RULE_SETUP
-#line 207 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 222 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return TAIL; }
        YY_BREAK
 case 27:
 YY_RULE_SETUP
-#line 208 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 223 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return TARGET; }
        YY_BREAK
 case 28:
 YY_RULE_SETUP
-#line 209 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 224 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return TRIPLE; }
        YY_BREAK
 case 29:
 YY_RULE_SETUP
-#line 210 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 225 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return DEPLIBS; }
        YY_BREAK
 case 30:
 YY_RULE_SETUP
-#line 211 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 226 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return ENDIAN; }
        YY_BREAK
 case 31:
 YY_RULE_SETUP
-#line 212 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 227 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return POINTERSIZE; }
        YY_BREAK
 case 32:
 YY_RULE_SETUP
-#line 213 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ return LITTLE; }
+#line 228 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ return DATALAYOUT; }
        YY_BREAK
 case 33:
 YY_RULE_SETUP
-#line 214 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ return BIG; }
+#line 229 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ return LITTLE; }
        YY_BREAK
 case 34:
 YY_RULE_SETUP
-#line 215 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ return VOLATILE; }
+#line 230 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ return BIG; }
        YY_BREAK
 case 35:
 YY_RULE_SETUP
-#line 216 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ return ALIGN;  }
+#line 231 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ return VOLATILE; }
        YY_BREAK
 case 36:
 YY_RULE_SETUP
-#line 217 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ return SECTION; }
+#line 232 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ return ALIGN;  }
        YY_BREAK
 case 37:
 YY_RULE_SETUP
-#line 218 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ return MODULE; }
+#line 233 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ return SECTION; }
        YY_BREAK
 case 38:
 YY_RULE_SETUP
-#line 219 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ return ASM_TOK; }
+#line 234 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ return MODULE; }
        YY_BREAK
 case 39:
 YY_RULE_SETUP
-#line 220 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ return SIDEEFFECT; }
+#line 235 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ return ASM_TOK; }
        YY_BREAK
 case 40:
 YY_RULE_SETUP
-#line 222 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ return CC_TOK; }
+#line 236 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ return SIDEEFFECT; }
        YY_BREAK
 case 41:
 YY_RULE_SETUP
-#line 223 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ return CCC_TOK; }
+#line 238 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ return CC_TOK; }
        YY_BREAK
 case 42:
 YY_RULE_SETUP
-#line 224 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ return CSRETCC_TOK; }
+#line 239 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ return CCC_TOK; }
        YY_BREAK
 case 43:
 YY_RULE_SETUP
-#line 225 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ return FASTCC_TOK; }
+#line 240 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ return CSRETCC_TOK; }
        YY_BREAK
 case 44:
 YY_RULE_SETUP
-#line 226 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ return COLDCC_TOK; }
+#line 241 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ return FASTCC_TOK; }
        YY_BREAK
 case 45:
 YY_RULE_SETUP
-#line 228 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ llvmAsmlval.PrimType = Type::VoidTy  ; return VOID;   }
+#line 242 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ return COLDCC_TOK; }
        YY_BREAK
 case 46:
 YY_RULE_SETUP
-#line 229 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ llvmAsmlval.PrimType = Type::BoolTy  ; return BOOL;   }
+#line 243 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ return X86_STDCALLCC_TOK; }
        YY_BREAK
 case 47:
 YY_RULE_SETUP
-#line 230 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ llvmAsmlval.PrimType = Type::SByteTy ; return SBYTE;  }
+#line 244 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ return X86_FASTCALLCC_TOK; }
        YY_BREAK
 case 48:
 YY_RULE_SETUP
-#line 231 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ llvmAsmlval.PrimType = Type::UByteTy ; return UBYTE;  }
+#line 246 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TY(Type::VoidTy,  isSignless, VOID);  }
        YY_BREAK
 case 49:
 YY_RULE_SETUP
-#line 232 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ llvmAsmlval.PrimType = Type::ShortTy ; return SHORT;  }
+#line 247 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TY(Type::BoolTy,  isSignless, BOOL);  }
        YY_BREAK
 case 50:
 YY_RULE_SETUP
-#line 233 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ llvmAsmlval.PrimType = Type::UShortTy; return USHORT; }
+#line 248 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TY(Type::SByteTy, isSigned,   SBYTE); }
        YY_BREAK
 case 51:
 YY_RULE_SETUP
-#line 234 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ llvmAsmlval.PrimType = Type::IntTy   ; return INT;    }
+#line 249 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TY(Type::UByteTy, isUnsigned, UBYTE); }
        YY_BREAK
 case 52:
 YY_RULE_SETUP
-#line 235 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ llvmAsmlval.PrimType = Type::UIntTy  ; return UINT;   }
+#line 250 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TY(Type::ShortTy, isSigned,   SHORT); }
        YY_BREAK
 case 53:
 YY_RULE_SETUP
-#line 236 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ llvmAsmlval.PrimType = Type::LongTy  ; return LONG;   }
+#line 251 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TY(Type::UShortTy,isUnsigned, USHORT);}
        YY_BREAK
 case 54:
 YY_RULE_SETUP
-#line 237 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ llvmAsmlval.PrimType = Type::ULongTy ; return ULONG;  }
+#line 252 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TY(Type::IntTy,   isSigned,   INT);   }
        YY_BREAK
 case 55:
 YY_RULE_SETUP
-#line 238 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ llvmAsmlval.PrimType = Type::FloatTy ; return FLOAT;  }
+#line 253 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TY(Type::UIntTy,  isUnsigned, UINT);  }
        YY_BREAK
 case 56:
 YY_RULE_SETUP
-#line 239 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ llvmAsmlval.PrimType = Type::DoubleTy; return DOUBLE; }
+#line 254 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TY(Type::LongTy,  isSigned,   LONG);  }
        YY_BREAK
 case 57:
 YY_RULE_SETUP
-#line 240 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ llvmAsmlval.PrimType = Type::LabelTy ; return LABEL;  }
+#line 255 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TY(Type::ULongTy, isUnsigned, ULONG); }
        YY_BREAK
 case 58:
 YY_RULE_SETUP
-#line 241 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ return TYPE;   }
+#line 256 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TY(Type::FloatTy, isSignless, FLOAT); }
        YY_BREAK
 case 59:
 YY_RULE_SETUP
-#line 242 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ return OPAQUE; }
+#line 257 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TY(Type::DoubleTy,isSignless, DOUBLE);}
        YY_BREAK
 case 60:
 YY_RULE_SETUP
-#line 244 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(BinaryOpVal, Add, ADD); }
+#line 258 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TY(Type::LabelTy, isSignless, LABEL); }
        YY_BREAK
 case 61:
 YY_RULE_SETUP
-#line 245 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(BinaryOpVal, Sub, SUB); }
+#line 259 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ return TYPE;   }
        YY_BREAK
 case 62:
 YY_RULE_SETUP
-#line 246 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(BinaryOpVal, Mul, MUL); }
+#line 260 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ return OPAQUE; }
        YY_BREAK
 case 63:
 YY_RULE_SETUP
-#line 247 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(BinaryOpVal, Div, DIV); }
+#line 262 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(BinaryOpVal, Add, ADD); }
        YY_BREAK
 case 64:
 YY_RULE_SETUP
-#line 248 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(BinaryOpVal, Rem, REM); }
+#line 263 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(BinaryOpVal, Sub, SUB); }
        YY_BREAK
 case 65:
 YY_RULE_SETUP
-#line 249 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(BinaryOpVal, And, AND); }
+#line 264 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(BinaryOpVal, Mul, MUL); }
        YY_BREAK
 case 66:
 YY_RULE_SETUP
-#line 250 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(BinaryOpVal, Or , OR ); }
+#line 265 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK_OBSOLETE(BinaryOpVal, UDiv, UDIV); }
        YY_BREAK
 case 67:
 YY_RULE_SETUP
-#line 251 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(BinaryOpVal, Xor, XOR); }
+#line 266 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(BinaryOpVal, UDiv, UDIV); }
        YY_BREAK
 case 68:
 YY_RULE_SETUP
-#line 252 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(BinaryOpVal, SetNE, SETNE); }
+#line 267 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(BinaryOpVal, SDiv, SDIV); }
        YY_BREAK
 case 69:
 YY_RULE_SETUP
-#line 253 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(BinaryOpVal, SetEQ, SETEQ); }
+#line 268 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(BinaryOpVal, FDiv, FDIV); }
        YY_BREAK
 case 70:
 YY_RULE_SETUP
-#line 254 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(BinaryOpVal, SetLT, SETLT); }
+#line 269 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK_OBSOLETE(BinaryOpVal, URem, UREM); }
        YY_BREAK
 case 71:
 YY_RULE_SETUP
-#line 255 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(BinaryOpVal, SetGT, SETGT); }
+#line 270 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(BinaryOpVal, URem, UREM); }
        YY_BREAK
 case 72:
 YY_RULE_SETUP
-#line 256 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(BinaryOpVal, SetLE, SETLE); }
+#line 271 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(BinaryOpVal, SRem, SREM); }
        YY_BREAK
 case 73:
 YY_RULE_SETUP
-#line 257 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(BinaryOpVal, SetGE, SETGE); }
+#line 272 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(BinaryOpVal, FRem, FREM); }
        YY_BREAK
 case 74:
 YY_RULE_SETUP
-#line 259 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(OtherOpVal, PHI, PHI_TOK); }
+#line 273 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(BinaryOpVal, And, AND); }
        YY_BREAK
 case 75:
 YY_RULE_SETUP
-#line 260 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(OtherOpVal, Call, CALL); }
+#line 274 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(BinaryOpVal, Or , OR ); }
        YY_BREAK
 case 76:
 YY_RULE_SETUP
-#line 261 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(OtherOpVal, Cast, CAST); }
+#line 275 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(BinaryOpVal, Xor, XOR); }
        YY_BREAK
 case 77:
 YY_RULE_SETUP
-#line 262 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(OtherOpVal, Select, SELECT); }
+#line 276 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(BinaryOpVal, SetNE, SETNE); }
        YY_BREAK
 case 78:
 YY_RULE_SETUP
-#line 263 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(OtherOpVal, Shl, SHL); }
+#line 277 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(BinaryOpVal, SetEQ, SETEQ); }
        YY_BREAK
 case 79:
 YY_RULE_SETUP
-#line 264 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(OtherOpVal, Shr, SHR); }
+#line 278 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(BinaryOpVal, SetLT, SETLT); }
        YY_BREAK
 case 80:
 YY_RULE_SETUP
-#line 265 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ return VANEXT_old; }
+#line 279 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(BinaryOpVal, SetGT, SETGT); }
        YY_BREAK
 case 81:
 YY_RULE_SETUP
-#line 266 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ return VAARG_old; }
+#line 280 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(BinaryOpVal, SetLE, SETLE); }
        YY_BREAK
 case 82:
 YY_RULE_SETUP
-#line 267 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(OtherOpVal, VAArg , VAARG); }
+#line 281 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(BinaryOpVal, SetGE, SETGE); }
        YY_BREAK
 case 83:
 YY_RULE_SETUP
-#line 268 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(TermOpVal, Ret, RET); }
+#line 283 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(OtherOpVal, PHI, PHI_TOK); }
        YY_BREAK
 case 84:
 YY_RULE_SETUP
-#line 269 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(TermOpVal, Br, BR); }
+#line 284 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(OtherOpVal, Call, CALL); }
        YY_BREAK
 case 85:
 YY_RULE_SETUP
-#line 270 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(TermOpVal, Switch, SWITCH); }
+#line 285 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK_OBSOLETE(CastOpVal, Trunc, TRUNC); }
        YY_BREAK
 case 86:
 YY_RULE_SETUP
-#line 271 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(TermOpVal, Invoke, INVOKE); }
+#line 286 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(CastOpVal, Trunc, TRUNC); }
        YY_BREAK
 case 87:
 YY_RULE_SETUP
-#line 272 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(TermOpVal, Unwind, UNWIND); }
+#line 287 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(CastOpVal, ZExt, ZEXT); }
        YY_BREAK
 case 88:
 YY_RULE_SETUP
-#line 273 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(TermOpVal, Unreachable, UNREACHABLE); }
+#line 288 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(CastOpVal, SExt, SEXT); }
        YY_BREAK
 case 89:
 YY_RULE_SETUP
-#line 275 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(MemOpVal, Malloc, MALLOC); }
+#line 289 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(CastOpVal, FPTrunc, FPTRUNC); }
        YY_BREAK
 case 90:
 YY_RULE_SETUP
-#line 276 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(MemOpVal, Alloca, ALLOCA); }
+#line 290 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(CastOpVal, FPExt, FPEXT); }
        YY_BREAK
 case 91:
 YY_RULE_SETUP
-#line 277 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(MemOpVal, Free, FREE); }
+#line 291 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(CastOpVal, UIToFP, UITOFP); }
        YY_BREAK
 case 92:
 YY_RULE_SETUP
-#line 278 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(MemOpVal, Load, LOAD); }
+#line 292 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(CastOpVal, SIToFP, SITOFP); }
        YY_BREAK
 case 93:
 YY_RULE_SETUP
-#line 279 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(MemOpVal, Store, STORE); }
+#line 293 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(CastOpVal, FPToUI, FPTOUI); }
        YY_BREAK
 case 94:
 YY_RULE_SETUP
-#line 280 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(MemOpVal, GetElementPtr, GETELEMENTPTR); }
+#line 294 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(CastOpVal, FPToSI, FPTOSI); }
        YY_BREAK
 case 95:
 YY_RULE_SETUP
-#line 282 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(OtherOpVal, ExtractElement, EXTRACTELEMENT); }
+#line 295 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(CastOpVal, IntToPtr, INTTOPTR); }
        YY_BREAK
 case 96:
 YY_RULE_SETUP
-#line 283 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(OtherOpVal, InsertElement, INSERTELEMENT); }
+#line 296 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(CastOpVal, PtrToInt, PTRTOINT); }
        YY_BREAK
 case 97:
 YY_RULE_SETUP
-#line 284 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(OtherOpVal, ShuffleVector, SHUFFLEVECTOR); }
+#line 297 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(CastOpVal, BitCast, BITCAST); }
        YY_BREAK
 case 98:
 YY_RULE_SETUP
-#line 287 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{
-                  UnEscapeLexed(llvmAsmtext+1);
-                  llvmAsmlval.StrVal = strdup(llvmAsmtext+1);             // Skip %
-                  return VAR_ID;
-                }
+#line 298 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(OtherOpVal, Select, SELECT); }
        YY_BREAK
 case 99:
 YY_RULE_SETUP
-#line 292 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{
-                  llvmAsmtext[strlen(llvmAsmtext)-1] = 0;  // nuke colon
-                  UnEscapeLexed(llvmAsmtext);
-                  llvmAsmlval.StrVal = strdup(llvmAsmtext);
-                  return LABELSTR;
-                }
+#line 299 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(OtherOpVal, Shl, SHL); }
        YY_BREAK
 case 100:
-/* rule 100 can match eol */
 YY_RULE_SETUP
-#line 298 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{
-                  llvmAsmtext[strlen(llvmAsmtext)-2] = 0;  // nuke colon, end quote
-                  UnEscapeLexed(llvmAsmtext+1);
-                  llvmAsmlval.StrVal = strdup(llvmAsmtext+1);
-                  return LABELSTR;
-                }
+#line 300 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK_OBSOLETE(OtherOpVal, LShr, LSHR); }
        YY_BREAK
 case 101:
-/* rule 101 can match eol */
 YY_RULE_SETUP
-#line 305 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ // Note that we cannot unescape a string constant here!  The
-                   // string constant might contain a \00 which would not be
-                   // understood by the string stuff.  It is valid to make a
-                   // [sbyte] c"Hello World\00" constant, for example.
-                   //
-                   llvmAsmtext[strlen(llvmAsmtext)-1] = 0;           // nuke end quote
-                   llvmAsmlval.StrVal = strdup(llvmAsmtext+1);  // Nuke start quote
-                   return STRINGCONSTANT;
-                 }
+#line 301 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(OtherOpVal, LShr, LSHR); }
        YY_BREAK
 case 102:
 YY_RULE_SETUP
-#line 316 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ llvmAsmlval.UInt64Val = atoull(llvmAsmtext); return EUINT64VAL; }
+#line 302 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(OtherOpVal, AShr, ASHR); }
        YY_BREAK
 case 103:
 YY_RULE_SETUP
-#line 317 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{
-                  uint64_t Val = atoull(llvmAsmtext+1);
-                  // +1:  we have bigger negative range
-                  if (Val > (uint64_t)INT64_MAX+1)
-                    GenerateError("Constant too large for signed 64 bits!");
-                  llvmAsmlval.SInt64Val = -Val;
-                  return ESINT64VAL;
-                }
+#line 303 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ return VANEXT_old; }
        YY_BREAK
 case 104:
 YY_RULE_SETUP
-#line 325 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{
-                   llvmAsmlval.UInt64Val = HexIntToVal(llvmAsmtext+3);
-                   return llvmAsmtext[0] == 's' ? ESINT64VAL : EUINT64VAL;
-                 }
+#line 304 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ return VAARG_old; }
        YY_BREAK
 case 105:
 YY_RULE_SETUP
-#line 330 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{
-                  uint64_t Val = atoull(llvmAsmtext+1);
-                  if ((unsigned)Val != Val)
-                    GenerateError("Invalid value number (too large)!");
-                  llvmAsmlval.UIntVal = unsigned(Val);
-                  return UINTVAL;
-                }
+#line 305 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(OtherOpVal, VAArg , VAARG); }
        YY_BREAK
 case 106:
 YY_RULE_SETUP
-#line 337 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{
-                  uint64_t Val = atoull(llvmAsmtext+2);
-                  // +1:  we have bigger negative range
-                  if (Val > (uint64_t)INT32_MAX+1)
-                    GenerateError("Constant too large for signed 32 bits!");
-                  llvmAsmlval.SIntVal = (int)-Val;
-                  return SINTVAL;
-                }
+#line 306 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(TermOpVal, Ret, RET); }
        YY_BREAK
 case 107:
 YY_RULE_SETUP
-#line 346 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ llvmAsmlval.FPVal = atof(llvmAsmtext); return FPVAL; }
+#line 307 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(TermOpVal, Br, BR); }
        YY_BREAK
 case 108:
 YY_RULE_SETUP
-#line 347 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ llvmAsmlval.FPVal = HexToFP(llvmAsmtext); return FPVAL; }
+#line 308 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(TermOpVal, Switch, SWITCH); }
+       YY_BREAK
+case 109:
+YY_RULE_SETUP
+#line 309 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(TermOpVal, Invoke, INVOKE); }
+       YY_BREAK
+case 110:
+YY_RULE_SETUP
+#line 310 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(TermOpVal, Unwind, UNWIND); }
+       YY_BREAK
+case 111:
+YY_RULE_SETUP
+#line 311 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(TermOpVal, Unreachable, UNREACHABLE); }
+       YY_BREAK
+case 112:
+YY_RULE_SETUP
+#line 313 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(MemOpVal, Malloc, MALLOC); }
+       YY_BREAK
+case 113:
+YY_RULE_SETUP
+#line 314 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(MemOpVal, Alloca, ALLOCA); }
+       YY_BREAK
+case 114:
+YY_RULE_SETUP
+#line 315 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(MemOpVal, Free, FREE); }
+       YY_BREAK
+case 115:
+YY_RULE_SETUP
+#line 316 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(MemOpVal, Load, LOAD); }
+       YY_BREAK
+case 116:
+YY_RULE_SETUP
+#line 317 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(MemOpVal, Store, STORE); }
+       YY_BREAK
+case 117:
+YY_RULE_SETUP
+#line 318 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(MemOpVal, GetElementPtr, GETELEMENTPTR); }
+       YY_BREAK
+case 118:
+YY_RULE_SETUP
+#line 320 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(OtherOpVal, ExtractElement, EXTRACTELEMENT); }
+       YY_BREAK
+case 119:
+YY_RULE_SETUP
+#line 321 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(OtherOpVal, InsertElement, INSERTELEMENT); }
+       YY_BREAK
+case 120:
+YY_RULE_SETUP
+#line 322 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(OtherOpVal, ShuffleVector, SHUFFLEVECTOR); }
+       YY_BREAK
+case 121:
+YY_RULE_SETUP
+#line 325 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{
+                  UnEscapeLexed(yytext+1);
+                  llvmAsmlval.StrVal = strdup(yytext+1);             // Skip %
+                  return VAR_ID;
+                }
+       YY_BREAK
+case 122:
+YY_RULE_SETUP
+#line 330 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{
+                  yytext[strlen(yytext)-1] = 0;  // nuke colon
+                  UnEscapeLexed(yytext);
+                  llvmAsmlval.StrVal = strdup(yytext);
+                  return LABELSTR;
+                }
+       YY_BREAK
+case 123:
+YY_RULE_SETUP
+#line 336 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{
+                  yytext[strlen(yytext)-2] = 0;  // nuke colon, end quote
+                  UnEscapeLexed(yytext+1);
+                  llvmAsmlval.StrVal = strdup(yytext+1);
+                  return LABELSTR;
+                }
+       YY_BREAK
+case 124:
+YY_RULE_SETUP
+#line 343 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ // Note that we cannot unescape a string constant here!  The
+                   // string constant might contain a \00 which would not be
+                   // understood by the string stuff.  It is valid to make a
+                   // [sbyte] c"Hello World\00" constant, for example.
+                   //
+                   yytext[strlen(yytext)-1] = 0;           // nuke end quote
+                   llvmAsmlval.StrVal = strdup(yytext+1);  // Nuke start quote
+                   return STRINGCONSTANT;
+                 }
+       YY_BREAK
+case 125:
+YY_RULE_SETUP
+#line 354 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ llvmAsmlval.UInt64Val = atoull(yytext); return EUINT64VAL; }
+       YY_BREAK
+case 126:
+YY_RULE_SETUP
+#line 355 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{
+                  uint64_t Val = atoull(yytext+1);
+                  // +1:  we have bigger negative range
+                  if (Val > (uint64_t)INT64_MAX+1)
+                    GenerateError("Constant too large for signed 64 bits!");
+                  llvmAsmlval.SInt64Val = -Val;
+                  return ESINT64VAL;
+                }
+       YY_BREAK
+case 127:
+YY_RULE_SETUP
+#line 363 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{
+                   llvmAsmlval.UInt64Val = HexIntToVal(yytext+3);
+                   return yytext[0] == 's' ? ESINT64VAL : EUINT64VAL;
+                 }
+       YY_BREAK
+case 128:
+YY_RULE_SETUP
+#line 368 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{
+                  uint64_t Val = atoull(yytext+1);
+                  if ((unsigned)Val != Val)
+                    GenerateError("Invalid value number (too large)!");
+                  llvmAsmlval.UIntVal = unsigned(Val);
+                  return UINTVAL;
+                }
+       YY_BREAK
+case 129:
+YY_RULE_SETUP
+#line 375 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{
+                  uint64_t Val = atoull(yytext+2);
+                  // +1:  we have bigger negative range
+                  if (Val > (uint64_t)INT32_MAX+1)
+                    GenerateError("Constant too large for signed 32 bits!");
+                  llvmAsmlval.SIntVal = (int)-Val;
+                  return SINTVAL;
+                }
+       YY_BREAK
+case 130:
+YY_RULE_SETUP
+#line 384 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ llvmAsmlval.FPVal = atof(yytext); return FPVAL; }
+       YY_BREAK
+case 131:
+YY_RULE_SETUP
+#line 385 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ llvmAsmlval.FPVal = HexToFP(yytext); return FPVAL; }
        YY_BREAK
 case YY_STATE_EOF(INITIAL):
-#line 349 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 387 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 {
                   /* Make sure to free the internal buffers for flex when we are
                    * done reading our input!
                    */
-                  llvmAsm_delete_buffer(YY_CURRENT_BUFFER);
+                  yy_delete_buffer(YY_CURRENT_BUFFER);
                   return EOF;
                 }
        YY_BREAK
-case 109:
-/* rule 109 can match eol */
+case 132:
 YY_RULE_SETUP
-#line 357 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 395 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { /* Ignore whitespace */ }
        YY_BREAK
-case 110:
+case 133:
 YY_RULE_SETUP
-#line 358 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ return llvmAsmtext[0]; }
+#line 396 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ return yytext[0]; }
        YY_BREAK
-case 111:
+case 134:
 YY_RULE_SETUP
-#line 360 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 398 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 YY_FATAL_ERROR( "flex scanner jammed" );
        YY_BREAK
-#line 1861 "Lexer.cpp"
+#line 2023 "Lexer.cpp"
 
        case YY_END_OF_BUFFER:
                {
                /* Amount of text matched not including the EOB char. */
-               int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
+               int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1;
 
                /* Undo the effects of YY_DO_BEFORE_ACTION. */
-               *yy_cp = (yy_hold_char);
+               *yy_cp = yy_hold_char;
                YY_RESTORE_YY_MORE_OFFSET
 
-               if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
+               if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW )
                        {
                        /* We're scanning a new file or input source.  It's
                         * possible that this happened because the user
-                        * just pointed llvmAsmin at a new source and called
-                        * llvmAsmlex().  If so, then we have to assure
-                        * consistency between YY_CURRENT_BUFFER and our
+                        * just pointed yyin at a new source and called
+                        * yylex().  If so, then we have to assure
+                        * consistency between yy_current_buffer and our
                         * globals.  Here is the right place to do so, because
                         * this is the first action (other than possibly a
                         * back-up) that will match for the new input source.
                         */
-                       (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
-                       YY_CURRENT_BUFFER_LVALUE->yy_input_file = llvmAsmin;
-                       YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
+                       yy_n_chars = yy_current_buffer->yy_n_chars;
+                       yy_current_buffer->yy_input_file = yyin;
+                       yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL;
                        }
 
                /* Note that here we test for yy_c_buf_p "<=" to the position
@@ -1891,13 +2053,13 @@ YY_FATAL_ERROR( "flex scanner jammed" );
                 * end-of-buffer state).  Contrast this with the test
                 * in input().
                 */
-               if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
+               if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
                        { /* This was really a NUL. */
                        yy_state_type yy_next_state;
 
-                       (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
+                       yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text;
 
-                       yy_current_state = yy_get_previous_state(  );
+                       yy_current_state = yy_get_previous_state();
 
                        /* Okay, we're now positioned to make the NUL
                         * transition.  We couldn't have
@@ -1910,42 +2072,41 @@ YY_FATAL_ERROR( "flex scanner jammed" );
 
                        yy_next_state = yy_try_NUL_trans( yy_current_state );
 
-                       yy_bp = (yytext_ptr) + YY_MORE_ADJ;
+                       yy_bp = yytext_ptr + YY_MORE_ADJ;
 
                        if ( yy_next_state )
                                {
                                /* Consume the NUL. */
-                               yy_cp = ++(yy_c_buf_p);
+                               yy_cp = ++yy_c_buf_p;
                                yy_current_state = yy_next_state;
                                goto yy_match;
                                }
 
                        else
                                {
-                               yy_cp = (yy_last_accepting_cpos);
-                               yy_current_state = (yy_last_accepting_state);
+                               yy_cp = yy_c_buf_p;
                                goto yy_find_action;
                                }
                        }
 
-               else switch ( yy_get_next_buffer(  ) )
+               else switch ( yy_get_next_buffer() )
                        {
                        case EOB_ACT_END_OF_FILE:
                                {
-                               (yy_did_buffer_switch_on_eof) = 0;
+                               yy_did_buffer_switch_on_eof = 0;
 
-                               if ( llvmAsmwrap( ) )
+                               if ( yywrap() )
                                        {
                                        /* Note: because we've taken care in
                                         * yy_get_next_buffer() to have set up
-                                        * llvmAsmtext, we can now set up
+                                        * yytext, we can now set up
                                         * yy_c_buf_p so that if some total
                                         * hoser (like flex itself) wants to
                                         * call the scanner after we return the
                                         * YY_NULL, it'll still work - another
                                         * YY_NULL will get returned.
                                         */
-                                       (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
+                                       yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;
 
                                        yy_act = YY_STATE_EOF(YY_START);
                                        goto do_action;
@@ -1953,30 +2114,30 @@ YY_FATAL_ERROR( "flex scanner jammed" );
 
                                else
                                        {
-                                       if ( ! (yy_did_buffer_switch_on_eof) )
+                                       if ( ! yy_did_buffer_switch_on_eof )
                                                YY_NEW_FILE;
                                        }
                                break;
                                }
 
                        case EOB_ACT_CONTINUE_SCAN:
-                               (yy_c_buf_p) =
-                                       (yytext_ptr) + yy_amount_of_matched_text;
+                               yy_c_buf_p =
+                                       yytext_ptr + yy_amount_of_matched_text;
 
-                               yy_current_state = yy_get_previous_state(  );
+                               yy_current_state = yy_get_previous_state();
 
-                               yy_cp = (yy_c_buf_p);
-                               yy_bp = (yytext_ptr) + YY_MORE_ADJ;
+                               yy_cp = yy_c_buf_p;
+                               yy_bp = yytext_ptr + YY_MORE_ADJ;
                                goto yy_match;
 
                        case EOB_ACT_LAST_MATCH:
-                               (yy_c_buf_p) =
-                               &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
+                               yy_c_buf_p =
+                               &yy_current_buffer->yy_ch_buf[yy_n_chars];
 
-                               yy_current_state = yy_get_previous_state(  );
+                               yy_current_state = yy_get_previous_state();
 
-                               yy_cp = (yy_c_buf_p);
-                               yy_bp = (yytext_ptr) + YY_MORE_ADJ;
+                               yy_cp = yy_c_buf_p;
+                               yy_bp = yytext_ptr + YY_MORE_ADJ;
                                goto yy_find_action;
                        }
                break;
@@ -1987,7 +2148,8 @@ YY_FATAL_ERROR( "flex scanner jammed" );
                        "fatal flex scanner internal error--no action found" );
        } /* end of action switch */
                } /* end of scanning one token */
-} /* end of llvmAsmlex */
+       } /* end of yylex */
+
 
 /* yy_get_next_buffer - try to read in a new buffer
  *
@@ -1996,20 +2158,21 @@ YY_FATAL_ERROR( "flex scanner jammed" );
  *     EOB_ACT_CONTINUE_SCAN - continue scanning from current position
  *     EOB_ACT_END_OF_FILE - end of file
  */
-static int yy_get_next_buffer (void)
-{
-       register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
-       register char *source = (yytext_ptr);
+
+static int yy_get_next_buffer()
+       {
+       register char *dest = yy_current_buffer->yy_ch_buf;
+       register char *source = yytext_ptr;
        register int number_to_move, i;
        int ret_val;
 
-       if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
+       if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
                YY_FATAL_ERROR(
                "fatal flex scanner internal error--end of buffer missed" );
 
-       if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
+       if ( yy_current_buffer->yy_fill_buffer == 0 )
                { /* Don't try to fill the buffer, so this is an EOF. */
-               if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
+               if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 )
                        {
                        /* We matched a single character, the EOB, so
                         * treat this as a final EOF.
@@ -2029,30 +2192,34 @@ static int yy_get_next_buffer (void)
        /* Try to read more data. */
 
        /* First move last chars to start of buffer. */
-       number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
+       number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1;
 
        for ( i = 0; i < number_to_move; ++i )
                *(dest++) = *(source++);
 
-       if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
+       if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING )
                /* don't do the read, it's not guaranteed to return an EOF,
                 * just force an EOF
                 */
-               YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
+               yy_current_buffer->yy_n_chars = yy_n_chars = 0;
 
        else
                {
-                       int num_to_read =
-                       YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
+               int num_to_read =
+                       yy_current_buffer->yy_buf_size - number_to_move - 1;
 
                while ( num_to_read <= 0 )
                        { /* Not enough room in the buffer - grow it. */
+#ifdef YY_USES_REJECT
+                       YY_FATAL_ERROR(
+"input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
+#else
 
                        /* just a shorter name for the current buffer */
-                       YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
+                       YY_BUFFER_STATE b = yy_current_buffer;
 
                        int yy_c_buf_p_offset =
-                               (int) ((yy_c_buf_p) - b->yy_ch_buf);
+                               (int) (yy_c_buf_p - b->yy_ch_buf);
 
                        if ( b->yy_is_our_buffer )
                                {
@@ -2065,7 +2232,8 @@ static int yy_get_next_buffer (void)
 
                                b->yy_ch_buf = (char *)
                                        /* Include room in for 2 EOB chars. */
-                                       llvmAsmrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2  );
+                                       yy_flex_realloc( (void *) b->yy_ch_buf,
+                                                        b->yy_buf_size + 2 );
                                }
                        else
                                /* Can't grow it, we don't own it. */
@@ -2075,35 +2243,35 @@ static int yy_get_next_buffer (void)
                                YY_FATAL_ERROR(
                                "fatal error - scanner input buffer overflow" );
 
-                       (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
+                       yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
 
-                       num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
+                       num_to_read = yy_current_buffer->yy_buf_size -
                                                number_to_move - 1;
-
+#endif
                        }
 
                if ( num_to_read > YY_READ_BUF_SIZE )
                        num_to_read = YY_READ_BUF_SIZE;
 
                /* Read in more data. */
-               YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
-                       (yy_n_chars), num_to_read );
+               YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
+                       yy_n_chars, num_to_read );
 
-               YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
+               yy_current_buffer->yy_n_chars = yy_n_chars;
                }
 
-       if ( (yy_n_chars) == 0 )
+       if ( yy_n_chars == 0 )
                {
                if ( number_to_move == YY_MORE_ADJ )
                        {
                        ret_val = EOB_ACT_END_OF_FILE;
-                       llvmAsmrestart(llvmAsmin  );
+                       yyrestart( yyin );
                        }
 
                else
                        {
                        ret_val = EOB_ACT_LAST_MATCH;
-                       YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
+                       yy_current_buffer->yy_buffer_status =
                                YY_BUFFER_EOF_PENDING;
                        }
                }
@@ -2111,141 +2279,149 @@ static int yy_get_next_buffer (void)
        else
                ret_val = EOB_ACT_CONTINUE_SCAN;
 
-       (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->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
+       yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
 
-       (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
+       yytext_ptr = &yy_current_buffer->yy_ch_buf[0];
 
        return ret_val;
-}
+       }
+
 
 /* yy_get_previous_state - get the state just before the EOB char was reached */
 
-    static yy_state_type yy_get_previous_state (void)
-{
+static yy_state_type yy_get_previous_state()
+       {
        register yy_state_type yy_current_state;
        register char *yy_cp;
-    
-       yy_current_state = (yy_start);
 
-       for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
+       yy_current_state = yy_start;
+       yy_state_ptr = yy_state_buf;
+       *yy_state_ptr++ = yy_current_state;
+
+       for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
                {
                register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
-               if ( yy_accept[yy_current_state] )
-                       {
-                       (yy_last_accepting_state) = yy_current_state;
-                       (yy_last_accepting_cpos) = yy_cp;
-                       }
                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 >= 479 )
+                       if ( yy_current_state >= 576 )
                                yy_c = yy_meta[(unsigned int) yy_c];
                        }
                yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
+               *yy_state_ptr++ = yy_current_state;
                }
 
        return yy_current_state;
-}
+       }
+
 
 /* yy_try_NUL_trans - try to make a transition on the NUL character
  *
  * synopsis
  *     next_state = yy_try_NUL_trans( current_state );
  */
-    static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state )
-{
+
+#ifdef YY_USE_PROTOS
+static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state )
+#else
+static yy_state_type yy_try_NUL_trans( yy_current_state )
+yy_state_type yy_current_state;
+#endif
+       {
        register int yy_is_jam;
-       register char *yy_cp = (yy_c_buf_p);
 
        register YY_CHAR yy_c = 1;
-       if ( yy_accept[yy_current_state] )
-               {
-               (yy_last_accepting_state) = yy_current_state;
-               (yy_last_accepting_cpos) = yy_cp;
-               }
        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 >= 479 )
+               if ( yy_current_state >= 576 )
                        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 == 478);
+       yy_is_jam = (yy_current_state == 575);
+       if ( ! yy_is_jam )
+               *yy_state_ptr++ = yy_current_state;
 
        return yy_is_jam ? 0 : yy_current_state;
-}
+       }
 
-    static inline void yyunput (int c, register char * yy_bp )
-{
-       register char *yy_cp;
-    
-    yy_cp = (yy_c_buf_p);
 
-       /* undo effects of setting up llvmAsmtext */
-       *yy_cp = (yy_hold_char);
+#ifndef YY_NO_UNPUT
+#ifdef YY_USE_PROTOS
+static inline void yyunput( int c, register char *yy_bp )
+#else
+static inline void yyunput( c, yy_bp )
+int c;
+register char *yy_bp;
+#endif
+       {
+       register char *yy_cp = yy_c_buf_p;
+
+       /* undo effects of setting up yytext */
+       *yy_cp = yy_hold_char;
 
-       if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
+       if ( yy_cp < yy_current_buffer->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 char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
-                                       YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
+               register int number_to_move = yy_n_chars + 2;
+               register char *dest = &yy_current_buffer->yy_ch_buf[
+                                       yy_current_buffer->yy_buf_size + 2];
                register char *source =
-                               &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
+                               &yy_current_buffer->yy_ch_buf[number_to_move];
 
-               while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
+               while ( source > yy_current_buffer->yy_ch_buf )
                        *--dest = *--source;
 
                yy_cp += (int) (dest - source);
                yy_bp += (int) (dest - source);
-               YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
-                       (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
+               yy_current_buffer->yy_n_chars =
+                       yy_n_chars = yy_current_buffer->yy_buf_size;
 
-               if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
+               if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
                        YY_FATAL_ERROR( "flex scanner push-back overflow" );
                }
 
        *--yy_cp = (char) c;
 
-    if ( c == '\n' ){
-        --llvmAsmlineno;
-    }
+       if ( c == '\n' )
+               --yylineno;
+
+       yytext_ptr = yy_bp;
+       yy_hold_char = *yy_cp;
+       yy_c_buf_p = yy_cp;
+       }
+#endif /* ifndef YY_NO_UNPUT */
 
-       (yytext_ptr) = yy_bp;
-       (yy_hold_char) = *yy_cp;
-       (yy_c_buf_p) = yy_cp;
-}
 
 #ifndef YY_NO_INPUT
 #ifdef __cplusplus
-    static int yyinput (void)
+static int yyinput()
 #else
-    static int input  (void)
+static int input()
 #endif
-
-{
+       {
        int c;
-    
-       *(yy_c_buf_p) = (yy_hold_char);
 
-       if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
+       *yy_c_buf_p = yy_hold_char;
+
+       if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
                {
                /* yy_c_buf_p now points to the character we want to return.
                 * If this occurs *before* the EOB characters, then it's a
                 * valid NUL; if not, then we've hit the end of the buffer.
                 */
-               if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
+               if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
                        /* This was really a NUL. */
-                       *(yy_c_buf_p) = '\0';
+                       *yy_c_buf_p = '\0';
 
                else
                        { /* need more input */
-                       int offset = (yy_c_buf_p) - (yytext_ptr);
-                       ++(yy_c_buf_p);
+                       int offset = yy_c_buf_p - yytext_ptr;
+                       ++yy_c_buf_p;
 
-                       switch ( yy_get_next_buffer(  ) )
+                       switch ( yy_get_next_buffer() )
                                {
                                case EOB_ACT_LAST_MATCH:
                                        /* This happens because yy_g_n_b()
@@ -2259,16 +2435,16 @@ static int yy_get_next_buffer (void)
                                         */
 
                                        /* Reset buffer status. */
-                                       llvmAsmrestart(llvmAsmin );
+                                       yyrestart( yyin );
 
-                                       /*FALLTHROUGH*/
+                                       /* fall through */
 
                                case EOB_ACT_END_OF_FILE:
                                        {
-                                       if ( llvmAsmwrap( ) )
+                                       if ( yywrap() )
                                                return EOF;
 
-                                       if ( ! (yy_did_buffer_switch_on_eof) )
+                                       if ( ! yy_did_buffer_switch_on_eof )
                                                YY_NEW_FILE;
 #ifdef __cplusplus
                                        return yyinput();
@@ -2278,170 +2454,169 @@ static int yy_get_next_buffer (void)
                                        }
 
                                case EOB_ACT_CONTINUE_SCAN:
-                                       (yy_c_buf_p) = (yytext_ptr) + offset;
+                                       yy_c_buf_p = yytext_ptr + offset;
                                        break;
                                }
                        }
                }
 
-       c = *(unsigned char *) (yy_c_buf_p);    /* cast for 8-bit char's */
-       *(yy_c_buf_p) = '\0';   /* preserve llvmAsmtext */
-       (yy_hold_char) = *++(yy_c_buf_p);
+       c = *(unsigned char *) yy_c_buf_p;      /* cast for 8-bit char's */
+       *yy_c_buf_p = '\0';     /* preserve yytext */
+       yy_hold_char = *++yy_c_buf_p;
 
        if ( c == '\n' )
-                  
-    llvmAsmlineno++;
-;
+               ++yylineno;
 
        return c;
-}
-#endif /* ifndef YY_NO_INPUT */
+       }
+#endif /* YY_NO_INPUT */
 
-/** Immediately switch to a different input stream.
- * @param input_file A readable stream.
- * 
- * @note This function does not reset the start condition to @c INITIAL .
- */
-    void llvmAsmrestart  (FILE * input_file )
-{
-    
-       if ( ! YY_CURRENT_BUFFER ){
-        llvmAsmensure_buffer_stack ();
-               YY_CURRENT_BUFFER_LVALUE =
-            llvmAsm_create_buffer(llvmAsmin,YY_BUF_SIZE );
+#ifdef YY_USE_PROTOS
+void yyrestart( FILE *input_file )
+#else
+void yyrestart( input_file )
+FILE *input_file;
+#endif
+       {
+       if ( ! yy_current_buffer )
+               yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );
+
+       yy_init_buffer( yy_current_buffer, input_file );
+       yy_load_buffer_state();
        }
 
-       llvmAsm_init_buffer(YY_CURRENT_BUFFER,input_file );
-       llvmAsm_load_buffer_state( );
-}
 
-/** Switch to a different input buffer.
- * @param new_buffer The new input buffer.
- * 
- */
-    void llvmAsm_switch_to_buffer  (YY_BUFFER_STATE  new_buffer )
-{
-    
-       /* TODO. We should be able to replace this entire function body
-        * with
-        *              llvmAsmpop_buffer_state();
-        *              llvmAsmpush_buffer_state(new_buffer);
-     */
-       llvmAsmensure_buffer_stack ();
-       if ( YY_CURRENT_BUFFER == new_buffer )
+#ifdef YY_USE_PROTOS
+void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
+#else
+void yy_switch_to_buffer( new_buffer )
+YY_BUFFER_STATE new_buffer;
+#endif
+       {
+       if ( yy_current_buffer == new_buffer )
                return;
 
-       if ( YY_CURRENT_BUFFER )
+       if ( yy_current_buffer )
                {
                /* Flush out information for old buffer. */
-               *(yy_c_buf_p) = (yy_hold_char);
-               YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
-               YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
+               *yy_c_buf_p = yy_hold_char;
+               yy_current_buffer->yy_buf_pos = yy_c_buf_p;
+               yy_current_buffer->yy_n_chars = yy_n_chars;
                }
 
-       YY_CURRENT_BUFFER_LVALUE = new_buffer;
-       llvmAsm_load_buffer_state( );
+       yy_current_buffer = new_buffer;
+       yy_load_buffer_state();
 
        /* We don't actually know whether we did this switch during
-        * EOF (llvmAsmwrap()) processing, but the only time this flag
-        * is looked at is after llvmAsmwrap() is called, so it's safe
+        * EOF (yywrap()) processing, but the only time this flag
+        * is looked at is after yywrap() is called, so it's safe
         * to go ahead and always set it.
         */
-       (yy_did_buffer_switch_on_eof) = 1;
-}
+       yy_did_buffer_switch_on_eof = 1;
+       }
 
-static void llvmAsm_load_buffer_state  (void)
-{
-       (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
-       (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
-       llvmAsmin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
-       (yy_hold_char) = *(yy_c_buf_p);
-}
 
-/** Allocate and initialize an input buffer state.
- * @param file A readable stream.
- * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
- * 
- * @return the allocated buffer state.
- */
-    YY_BUFFER_STATE llvmAsm_create_buffer  (FILE * file, int  size )
-{
+#ifdef YY_USE_PROTOS
+void yy_load_buffer_state( void )
+#else
+void yy_load_buffer_state()
+#endif
+       {
+       yy_n_chars = yy_current_buffer->yy_n_chars;
+       yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
+       yyin = yy_current_buffer->yy_input_file;
+       yy_hold_char = *yy_c_buf_p;
+       }
+
+
+#ifdef YY_USE_PROTOS
+YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
+#else
+YY_BUFFER_STATE yy_create_buffer( file, size )
+FILE *file;
+int size;
+#endif
+       {
        YY_BUFFER_STATE b;
-    
-       b = (YY_BUFFER_STATE) llvmAsmalloc(sizeof( struct yy_buffer_state )  );
+
+       b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
        if ( ! b )
-               YY_FATAL_ERROR( "out of dynamic memory in llvmAsm_create_buffer()" );
+               YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
 
        b->yy_buf_size = size;
 
        /* yy_ch_buf has to be 2 characters longer than the size given because
         * we need to put in 2 end-of-buffer characters.
         */
-       b->yy_ch_buf = (char *) llvmAsmalloc(b->yy_buf_size + 2  );
+       b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 );
        if ( ! b->yy_ch_buf )
-               YY_FATAL_ERROR( "out of dynamic memory in llvmAsm_create_buffer()" );
+               YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
 
        b->yy_is_our_buffer = 1;
 
-       llvmAsm_init_buffer(b,file );
+       yy_init_buffer( b, file );
 
        return b;
-}
+       }
 
-/** Destroy the buffer.
- * @param b a buffer created with llvmAsm_create_buffer()
- * 
- */
-    void llvmAsm_delete_buffer (YY_BUFFER_STATE  b )
-{
-    
+
+#ifdef YY_USE_PROTOS
+void yy_delete_buffer( YY_BUFFER_STATE b )
+#else
+void yy_delete_buffer( b )
+YY_BUFFER_STATE b;
+#endif
+       {
        if ( ! b )
                return;
 
-       if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
-               YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
+       if ( b == yy_current_buffer )
+               yy_current_buffer = (YY_BUFFER_STATE) 0;
 
        if ( b->yy_is_our_buffer )
-               llvmAsmfree((void *) b->yy_ch_buf  );
+               yy_flex_free( (void *) b->yy_ch_buf );
 
-       llvmAsmfree((void *) b  );
-}
+       yy_flex_free( (void *) b );
+       }
 
-/* Initializes or reinitializes a buffer.
- * This function is sometimes called more than once on the same buffer,
- * such as during a llvmAsmrestart() or at EOF.
- */
-    static void llvmAsm_init_buffer  (YY_BUFFER_STATE  b, FILE * file )
 
-{
-       int oerrno = errno;
-    
-       llvmAsm_flush_buffer(b );
+
+#ifdef YY_USE_PROTOS
+void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
+#else
+void yy_init_buffer( b, file )
+YY_BUFFER_STATE b;
+FILE *file;
+#endif
+
+
+       {
+       yy_flush_buffer( b );
 
        b->yy_input_file = file;
        b->yy_fill_buffer = 1;
 
-    /* If b is the current buffer, then llvmAsm_init_buffer was _probably_
-     * called from llvmAsmrestart() or through yy_get_next_buffer.
-     * In that case, we don't want to reset the lineno or column.
-     */
-    if (b != YY_CURRENT_BUFFER){
-        b->yy_bs_lineno = 1;
-        b->yy_bs_column = 0;
-    }
+#if YY_ALWAYS_INTERACTIVE
+       b->yy_is_interactive = 1;
+#else
+#if YY_NEVER_INTERACTIVE
+       b->yy_is_interactive = 0;
+#else
+       b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
+#endif
+#endif
+       }
 
-        b->yy_is_interactive = 0;
-    
-       errno = oerrno;
-}
 
-/** Discard all buffered characters. On the next scan, YY_INPUT will be called.
- * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
- * 
- */
-    void llvmAsm_flush_buffer (YY_BUFFER_STATE  b )
-{
-       if ( ! b )
+#ifdef YY_USE_PROTOS
+void yy_flush_buffer( YY_BUFFER_STATE b )
+#else
+void yy_flush_buffer( b )
+YY_BUFFER_STATE b;
+#endif
+
+       {
+       if ( ! b )
                return;
 
        b->yy_n_chars = 0;
@@ -2458,123 +2633,31 @@ static void llvmAsm_load_buffer_state  (void)
        b->yy_at_bol = 1;
        b->yy_buffer_status = YY_BUFFER_NEW;
 
-       if ( b == YY_CURRENT_BUFFER )
-               llvmAsm_load_buffer_state( );
-}
-
-/** Pushes the new state onto the stack. The new state becomes
- *  the current state. This function will allocate the stack
- *  if necessary.
- *  @param new_buffer The new state.
- *  
- */
-void llvmAsmpush_buffer_state (YY_BUFFER_STATE new_buffer )
-{
-       if (new_buffer == NULL)
-               return;
-
-       llvmAsmensure_buffer_stack();
-
-       /* This block is copied from llvmAsm_switch_to_buffer. */
-       if ( YY_CURRENT_BUFFER )
-               {
-               /* Flush out information for old buffer. */
-               *(yy_c_buf_p) = (yy_hold_char);
-               YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
-               YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
-               }
-
-       /* Only push if top exists. Otherwise, replace top. */
-       if (YY_CURRENT_BUFFER)
-               (yy_buffer_stack_top)++;
-       YY_CURRENT_BUFFER_LVALUE = new_buffer;
-
-       /* copied from llvmAsm_switch_to_buffer. */
-       llvmAsm_load_buffer_state( );
-       (yy_did_buffer_switch_on_eof) = 1;
-}
-
-/** Removes and deletes the top of the stack, if present.
- *  The next element becomes the new top.
- *  
- */
-void llvmAsmpop_buffer_state (void)
-{
-       if (!YY_CURRENT_BUFFER)
-               return;
-
-       llvmAsm_delete_buffer(YY_CURRENT_BUFFER );
-       YY_CURRENT_BUFFER_LVALUE = NULL;
-       if ((yy_buffer_stack_top) > 0)
-               --(yy_buffer_stack_top);
-
-       if (YY_CURRENT_BUFFER) {
-               llvmAsm_load_buffer_state( );
-               (yy_did_buffer_switch_on_eof) = 1;
-       }
-}
-
-/* Allocates the stack if it does not exist.
- *  Guarantees space for at least one push.
- */
-static void llvmAsmensure_buffer_stack (void)
-{
-       int num_to_alloc;
-    
-       if (!(yy_buffer_stack)) {
-
-               /* First allocation is just for 2 elements, since we don't know if this
-                * scanner will even need a stack. We use 2 instead of 1 to avoid an
-                * immediate realloc on the next call.
-         */
-               num_to_alloc = 1;
-               (yy_buffer_stack) = (struct yy_buffer_state**)llvmAsmalloc
-                                                               (num_to_alloc * sizeof(struct yy_buffer_state*)
-                                                               );
-               
-               memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
-                               
-               (yy_buffer_stack_max) = num_to_alloc;
-               (yy_buffer_stack_top) = 0;
-               return;
+       if ( b == yy_current_buffer )
+               yy_load_buffer_state();
        }
 
-       if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
-
-               /* Increase the buffer to prepare for a possible push. */
-               int grow_size = 8 /* arbitrary grow size */;
 
-               num_to_alloc = (yy_buffer_stack_max) + grow_size;
-               (yy_buffer_stack) = (struct yy_buffer_state**)llvmAsmrealloc
-                                                               ((yy_buffer_stack),
-                                                               num_to_alloc * 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*));
-               (yy_buffer_stack_max) = num_to_alloc;
-       }
-}
-
-/** Setup the input buffer state to scan directly from a user-specified character buffer.
- * @param base the character buffer
- * @param size the size in bytes of the character buffer
- * 
- * @return the newly allocated buffer state object. 
- */
-YY_BUFFER_STATE llvmAsm_scan_buffer  (char * base, yy_size_t  size )
-{
+#ifndef YY_NO_SCAN_BUFFER
+#ifdef YY_USE_PROTOS
+YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size )
+#else
+YY_BUFFER_STATE yy_scan_buffer( base, size )
+char *base;
+yy_size_t size;
+#endif
+       {
        YY_BUFFER_STATE b;
-    
+
        if ( size < 2 ||
             base[size-2] != YY_END_OF_BUFFER_CHAR ||
             base[size-1] != YY_END_OF_BUFFER_CHAR )
                /* They forgot to leave room for the EOB's. */
                return 0;
 
-       b = (YY_BUFFER_STATE) llvmAsmalloc(sizeof( struct yy_buffer_state )  );
+       b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
        if ( ! b )
-               YY_FATAL_ERROR( "out of dynamic memory in llvmAsm_scan_buffer()" );
+               YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
 
        b->yy_buf_size = size - 2;      /* "- 2" to take care of EOB's */
        b->yy_buf_pos = b->yy_ch_buf = base;
@@ -2586,53 +2669,58 @@ YY_BUFFER_STATE llvmAsm_scan_buffer  (char * base, yy_size_t  size )
        b->yy_fill_buffer = 0;
        b->yy_buffer_status = YY_BUFFER_NEW;
 
-       llvmAsm_switch_to_buffer(b  );
+       yy_switch_to_buffer( b );
 
        return b;
-}
+       }
+#endif
 
-/** Setup the input buffer state to scan a string. The next call to llvmAsmlex() will
- * scan from a @e copy of @a str.
- * @param str a NUL-terminated string to scan
- * 
- * @return the newly allocated buffer state object.
- * @note If you want to scan bytes that may contain NUL values, then use
- *       llvmAsm_scan_bytes() instead.
- */
-YY_BUFFER_STATE llvmAsm_scan_string (yyconst char * yystr )
-{
-    
-       return llvmAsm_scan_bytes(yystr,strlen(yystr) );
-}
 
-/** Setup the input buffer state to scan the given bytes. The next call to llvmAsmlex() will
- * scan from a @e copy of @a bytes.
- * @param bytes the byte buffer to scan
- * @param len the number of bytes in the buffer pointed to by @a bytes.
- * 
- * @return the newly allocated buffer state object.
- */
-YY_BUFFER_STATE llvmAsm_scan_bytes  (yyconst char * yybytes, int  _yybytes_len )
-{
+#ifndef YY_NO_SCAN_STRING
+#ifdef YY_USE_PROTOS
+YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str )
+#else
+YY_BUFFER_STATE yy_scan_string( yy_str )
+yyconst char *yy_str;
+#endif
+       {
+       int len;
+       for ( len = 0; yy_str[len]; ++len )
+               ;
+
+       return yy_scan_bytes( yy_str, len );
+       }
+#endif
+
+
+#ifndef YY_NO_SCAN_BYTES
+#ifdef YY_USE_PROTOS
+YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len )
+#else
+YY_BUFFER_STATE yy_scan_bytes( bytes, len )
+yyconst char *bytes;
+int len;
+#endif
+       {
        YY_BUFFER_STATE b;
        char *buf;
        yy_size_t n;
        int i;
-    
+
        /* Get memory for full buffer, including space for trailing EOB's. */
-       n = _yybytes_len + 2;
-       buf = (char *) llvmAsmalloc(n  );
+       n = len + 2;
+       buf = (char *) yy_flex_alloc( n );
        if ( ! buf )
-               YY_FATAL_ERROR( "out of dynamic memory in llvmAsm_scan_bytes()" );
+               YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
 
-       for ( i = 0; i < _yybytes_len; ++i )
-               buf[i] = yybytes[i];
+       for ( i = 0; i < len; ++i )
+               buf[i] = bytes[i];
 
-       buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
+       buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;
 
-       b = llvmAsm_scan_buffer(buf,n );
+       b = yy_scan_buffer( buf, n );
        if ( ! b )
-               YY_FATAL_ERROR( "bad buffer in llvmAsm_scan_bytes()" );
+               YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
 
        /* It's okay to grow etc. this buffer, and we should throw it
         * away when we're done.
@@ -2640,199 +2728,148 @@ YY_BUFFER_STATE llvmAsm_scan_bytes  (yyconst char * yybytes, int  _yybytes_len )
        b->yy_is_our_buffer = 1;
 
        return b;
-}
-
-#ifndef YY_EXIT_FAILURE
-#define YY_EXIT_FAILURE 2
+       }
 #endif
 
-static void yy_fatal_error (yyconst char* msg )
-{
-       (void) fprintf( stderr, "%s\n", msg );
-       exit( YY_EXIT_FAILURE );
-}
 
-/* Redefine yyless() so it works in section 3 code. */
-
-#undef yyless
-#define yyless(n) \
-       do \
-               { \
-               /* Undo effects of setting up llvmAsmtext. */ \
-        int yyless_macro_arg = (n); \
-        YY_LESS_LINENO(yyless_macro_arg);\
-               llvmAsmtext[llvmAsmleng] = (yy_hold_char); \
-               (yy_c_buf_p) = llvmAsmtext + yyless_macro_arg; \
-               (yy_hold_char) = *(yy_c_buf_p); \
-               *(yy_c_buf_p) = '\0'; \
-               llvmAsmleng = yyless_macro_arg; \
-               } \
-       while ( 0 )
+#ifndef YY_NO_PUSH_STATE
+#ifdef YY_USE_PROTOS
+static void yy_push_state( int new_state )
+#else
+static void yy_push_state( new_state )
+int new_state;
+#endif
+       {
+       if ( yy_start_stack_ptr >= yy_start_stack_depth )
+               {
+               yy_size_t new_size;
 
-/* Accessor  methods (get/set functions) to struct members. */
+               yy_start_stack_depth += YY_START_STACK_INCR;
+               new_size = yy_start_stack_depth * sizeof( int );
 
-/** Get the current line number.
- * 
- */
-int llvmAsmget_lineno  (void)
-{
-        
-    return llvmAsmlineno;
-}
+               if ( ! yy_start_stack )
+                       yy_start_stack = (int *) yy_flex_alloc( new_size );
 
-/** Get the input stream.
- * 
- */
-FILE *llvmAsmget_in  (void)
-{
-        return llvmAsmin;
-}
+               else
+                       yy_start_stack = (int *) yy_flex_realloc(
+                                       (void *) yy_start_stack, new_size );
 
-/** Get the output stream.
- * 
- */
-FILE *llvmAsmget_out  (void)
-{
-        return llvmAsmout;
-}
+               if ( ! yy_start_stack )
+                       YY_FATAL_ERROR(
+                       "out of memory expanding start-condition stack" );
+               }
 
-/** Get the length of the current token.
- * 
- */
-int llvmAsmget_leng  (void)
-{
-        return llvmAsmleng;
-}
+       yy_start_stack[yy_start_stack_ptr++] = YY_START;
 
-/** Get the current token.
- * 
- */
+       BEGIN(new_state);
+       }
+#endif
 
-char *llvmAsmget_text  (void)
-{
-        return llvmAsmtext;
-}
 
-/** Set the current line number.
- * @param line_number
- * 
- */
-void llvmAsmset_lineno (int  line_number )
-{
-    
-    llvmAsmlineno = line_number;
-}
+#ifndef YY_NO_POP_STATE
+static void yy_pop_state()
+       {
+       if ( --yy_start_stack_ptr < 0 )
+               YY_FATAL_ERROR( "start-condition stack underflow" );
 
-/** Set the input stream. This does not discard the current
- * input buffer.
- * @param in_str A readable stream.
- * 
- * @see llvmAsm_switch_to_buffer
- */
-void llvmAsmset_in (FILE *  in_str )
-{
-        llvmAsmin = in_str ;
-}
+       BEGIN(yy_start_stack[yy_start_stack_ptr]);
+       }
+#endif
 
-void llvmAsmset_out (FILE *  out_str )
-{
-        llvmAsmout = out_str ;
-}
 
-int llvmAsmget_debug  (void)
-{
-        return llvmAsm_flex_debug;
-}
+#ifndef YY_NO_TOP_STATE
+static int yy_top_state()
+       {
+       return yy_start_stack[yy_start_stack_ptr - 1];
+       }
+#endif
 
-void llvmAsmset_debug (int  bdebug )
-{
-        llvmAsm_flex_debug = bdebug ;
-}
+#ifndef YY_EXIT_FAILURE
+#define YY_EXIT_FAILURE 2
+#endif
 
-static int yy_init_globals (void)
-{
-        /* Initialization is the same as for the non-reentrant scanner.
-     * This function is called from llvmAsmlex_destroy(), so don't allocate here.
-     */
-
-    /* We do not touch llvmAsmlineno unless the option is enabled. */
-    llvmAsmlineno =  1;
-    
-    (yy_buffer_stack) = 0;
-    (yy_buffer_stack_top) = 0;
-    (yy_buffer_stack_max) = 0;
-    (yy_c_buf_p) = (char *) 0;
-    (yy_init) = 0;
-    (yy_start) = 0;
-
-/* Defined in main.c */
-#ifdef YY_STDINIT
-    llvmAsmin = stdin;
-    llvmAsmout = stdout;
+#ifdef YY_USE_PROTOS
+static void yy_fatal_error( yyconst char msg[] )
 #else
-    llvmAsmin = (FILE *) 0;
-    llvmAsmout = (FILE *) 0;
+static void yy_fatal_error( msg )
+char msg[];
 #endif
+       {
+       (void) fprintf( stderr, "%s\n", msg );
+       exit( YY_EXIT_FAILURE );
+       }
 
-    /* For future reference: Set errno on error, since we are called by
-     * llvmAsmlex_init()
-     */
-    return 0;
-}
 
-/* llvmAsmlex_destroy is for both reentrant and non-reentrant scanners. */
-int llvmAsmlex_destroy  (void)
-{
-    
-    /* Pop the buffer stack, destroying each element. */
-       while(YY_CURRENT_BUFFER){
-               llvmAsm_delete_buffer(YY_CURRENT_BUFFER  );
-               YY_CURRENT_BUFFER_LVALUE = NULL;
-               llvmAsmpop_buffer_state();
-       }
 
-       /* Destroy the stack itself. */
-       llvmAsmfree((yy_buffer_stack) );
-       (yy_buffer_stack) = NULL;
+/* Redefine yyless() so it works in section 3 code. */
 
-    /* Reset the globals. This is important in a non-reentrant scanner so the next time
-     * llvmAsmlex() is called, initialization will occur. */
-    yy_init_globals( );
+#undef yyless
+#define yyless(n) \
+       do \
+               { \
+               /* Undo effects of setting up yytext. */ \
+               yytext[yyleng] = yy_hold_char; \
+               yy_c_buf_p = yytext + n; \
+               yy_hold_char = *yy_c_buf_p; \
+               *yy_c_buf_p = '\0'; \
+               yyleng = n; \
+               } \
+       while ( 0 )
 
-    return 0;
-}
 
-/*
- * Internal utility routines.
- */
+/* Internal utility routines. */
 
 #ifndef yytext_ptr
-static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
-{
+#ifdef YY_USE_PROTOS
+static void yy_flex_strncpy( char *s1, yyconst char *s2, int n )
+#else
+static void yy_flex_strncpy( s1, s2, n )
+char *s1;
+yyconst char *s2;
+int n;
+#endif
+       {
        register int i;
        for ( i = 0; i < n; ++i )
                s1[i] = s2[i];
-}
+       }
 #endif
 
 #ifdef YY_NEED_STRLEN
-static int yy_flex_strlen (yyconst char * s )
-{
+#ifdef YY_USE_PROTOS
+static int yy_flex_strlen( yyconst char *s )
+#else
+static int yy_flex_strlen( s )
+yyconst char *s;
+#endif
+       {
        register int n;
        for ( n = 0; s[n]; ++n )
                ;
 
        return n;
-}
+       }
 #endif
 
-void *llvmAsmalloc (yy_size_t  size )
-{
+
+#ifdef YY_USE_PROTOS
+static void *yy_flex_alloc( yy_size_t size )
+#else
+static void *yy_flex_alloc( size )
+yy_size_t size;
+#endif
+       {
        return (void *) malloc( size );
-}
+       }
 
-void *llvmAsmrealloc  (void * ptr, yy_size_t  size )
-{
+#ifdef YY_USE_PROTOS
+static inline void *yy_flex_realloc( void *ptr, yy_size_t size )
+#else
+static inline void *yy_flex_realloc( ptr, size )
+void *ptr;
+yy_size_t size;
+#endif
+       {
        /* The cast to (char *) in the following accommodates both
         * implementations that use char* generic pointers, and those
         * that use void* generic pointers.  It works with the latter
@@ -2841,16 +2878,24 @@ void *llvmAsmrealloc  (void * ptr, yy_size_t  size )
         * as though doing an assignment.
         */
        return (void *) realloc( (char *) ptr, size );
-}
-
-void llvmAsmfree (void * ptr )
-{
-       free( (char *) ptr );   /* see llvmAsmrealloc() for (char *) cast */
-}
-
-#define YYTABLES_NAME "yytables"
-
-#line 360 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+       }
 
+#ifdef YY_USE_PROTOS
+static void yy_flex_free( void *ptr )
+#else
+static void yy_flex_free( ptr )
+void *ptr;
+#endif
+       {
+       free( ptr );
+       }
 
+#if YY_MAIN
+int main()
+       {
+       yylex();
+       return 0;
+       }
+#endif
+#line 398 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"