[llvm-commits] CVS: llvm/lib/AsmParser/Lexer.cpp.cvs Lexer.l.cvs llvmAsmParser.cpp.cvs llvmAsmParser.h.cvs llvmAsmParser.y.cvs

Reid Spencer reid at x10sys.com
Fri Jan 12 21:01:01 PST 2007



Changes in directory llvm/lib/AsmParser:

Lexer.cpp.cvs updated: 1.25 -> 1.26
Lexer.l.cvs updated: 1.21 -> 1.22
llvmAsmParser.cpp.cvs updated: 1.52 -> 1.53
llvmAsmParser.h.cvs updated: 1.41 -> 1.42
llvmAsmParser.y.cvs updated: 1.53 -> 1.54
---
Log message:

Regenerate.


---
Diffs of the changes:  (+3730 -4086)

 Lexer.cpp.cvs         | 2967 ++++++++++++++++------------------
 Lexer.l.cvs           |    1 
 llvmAsmParser.cpp.cvs | 4288 ++++++++++++++++++++++++--------------------------
 llvmAsmParser.h.cvs   |  546 +++---
 llvmAsmParser.y.cvs   |   13 
 5 files changed, 3729 insertions(+), 4086 deletions(-)


Index: llvm/lib/AsmParser/Lexer.cpp.cvs
diff -u llvm/lib/AsmParser/Lexer.cpp.cvs:1.25 llvm/lib/AsmParser/Lexer.cpp.cvs:1.26
--- llvm/lib/AsmParser/Lexer.cpp.cvs:1.25	Fri Jan 12 13:22:51 2007
+++ llvm/lib/AsmParser/Lexer.cpp.cvs	Fri Jan 12 23:00:46 2007
@@ -1,94 +1,51 @@
-#line 2 "Lexer.cpp"
+#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 4 "Lexer.cpp"
+#line 20 "Lexer.cpp"
+/* A lexical scanner generated by flex*/
 
-#define  YY_INT_ALIGNED short int
-
-/* A lexical scanner generated by flex */
+/* Scanner skeleton version:
+ * $Header: /var/cvs/llvm/llvm/lib/AsmParser/Lexer.cpp.cvs,v 1.26 2007/01/13 05:00:46 reid Exp $
+ */
 
 #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)
+/* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
+#ifdef c_plusplus
+#ifndef __cplusplus
+#define __cplusplus
 #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)
-#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 @@
 
 #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 @@
  * 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 @@
 	 */
 	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,203 +220,199 @@
 	 * 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 );
-
-static void llvmAsmensure_buffer_stack (void );
-static void llvmAsm_load_buffer_state (void );
-static void llvmAsm_init_buffer (YY_BUFFER_STATE b,FILE *file  );
-
-#define YY_FLUSH_BUFFER llvmAsm_flush_buffer(YY_CURRENT_BUFFER )
-
-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  );
-
-void *llvmAsmalloc (yy_size_t  );
-void *llvmAsmrealloc (void *,yy_size_t  );
-void llvmAsmfree (void *  );
+void yyrestart YY_PROTO(( FILE *input_file ));
 
-#define yy_new_buffer llvmAsm_create_buffer
+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 )
+
+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 ));
+
+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 * ));
+
+#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 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[]  );
+extern int yylineno;
+int yylineno = 1;
+extern char *yytext;
+#define yytext_ptr yytext
+
+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 136
-#define YY_END_OF_BUFFER 137
-/* 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[557] =
+#define YY_NUM_RULES 135
+#define YY_END_OF_BUFFER 136
+static yyconst short int yy_acclist[215] =
+    {   0,
+      136,  134,  135,  133,  134,  135,  133,  135,  134,  135,
+      134,  135,  134,  135,  134,  135,  134,  135,  134,  135,
+      126,  134,  135,  126,  134,  135,    1,  134,  135,  134,
+      135,  134,  135,  134,  135,  134,  135,  134,  135,  134,
+      135,  134,  135,  134,  135,  134,  135,  134,  135,  134,
+      135,  134,  135,  134,  135,  134,  135,  134,  135,  134,
+      135,  134,  135,  134,  135,  134,  135,  134,  135,  134,
+      135,  134,  135,  125,  123,  122,  122,  129,  127,  131,
+      126,    1,  108,   40,   68,   53,   69,   64,   24,  125,
+      122,  122,  130,  131,   21,  131,  132,   54,   63,   38,
+
+       33,   41,    3,   56,   78,   83,   81,   82,   80,   79,
+       84,   88,  107,   73,   71,  103,   72,   70,   55,   86,
+       77,   75,   76,   74,   87,   85,   65,  124,  131,  131,
+      105,   89,   67,   59,  115,   62,   66,  116,  104,   23,
+      128,   58,   92,   61,   25,    4,   51,   57,   60,   47,
+       12,   91,  131,   35,    2,    5,   48,   94,   50,  117,
+       90,   22,  114,   44,    7,   49,   29,   43,   98,   97,
+        8,   16,  110,   32,  113,   37,   52,  102,   96,  109,
+       26,   27,   95,  111,  106,  101,   42,    6,   28,   93,
+       36,    9,   18,   10,   99,   11,  100,   34,   13,   15,
+
+       14,   31,   39,   17,   30,  112,  118,  120,  121,   45,
+      119,   19,   46,   20
+    } ;
+
+static yyconst short int yy_accept[555] =
     {   0,
-        0,    0,  137,  135,  134,  134,  135,  135,  135,  135,
-      135,  135,  127,  127,    1,  135,  135,  135,  135,  135,
-      135,  135,  135,  135,  135,  135,  135,  135,  135,  135,
-      135,  135,  135,  135,  135,  135,  135,    0,  126,    0,
-      124,  123,  123,  130,    0,  128,    0,  132,  127,    0,
-        1,    0,    0,    0,    0,    0,    0,    0,    0,  109,
-        0,   40,    0,    0,    0,    0,    0,    0,    0,   69,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-       54,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,   70,    0,    0,    0,    0,    0,    0,   65,    0,
-
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,   24,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,  126,  123,  123,  132,   21,  132,    0,  133,   55,
-        0,    0,   64,    0,    0,   38,    0,   33,    0,    0,
-        0,   41,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    3,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,   57,    0,   79,   84,
-       82,   83,   81,   80,    0,   85,   89,    0,    0,  108,
-
-        0,    0,    0,    0,    0,   74,   72,  104,    0,    0,
-        0,   73,   71,    0,    0,   56,    0,    0,    0,    0,
-        0,    0,    0,   87,   78,   76,    0,   77,   75,    0,
-       88,   86,    0,    0,    0,    0,    0,    0,    0,    0,
-       66,    0,    0,  125,  132,    0,    0,    0,  132,    0,
-        0,    0,  106,    0,    0,   48,   90,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,   68,   60,    0,    0,    0,    0,  116,   63,
-        0,    0,    0,   67,    0,    0,    0,    0,    0,    0,
-        0,    0,  117,  105,    0,    0,   23,    0,    0,    0,
-
-      129,   59,    0,    0,   93,    0,    0,    0,   62,    0,
-        0,   25,    0,    0,    4,    0,   52,   58,    0,    0,
-        0,    0,   61,    0,   47,    0,   12,    0,    0,   92,
-      132,   35,    0,    0,    2,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    5,
-        0,   49,   95,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,   51,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,  118,    0,    0,
-        0,   91,    0,   22,    0,    0,    0,    0,    0,    0,
-        0,  115,    0,    0,   44,    0,    0,    0,    0,    7,
-
-        0,    0,    0,   50,   29,    0,    0,   43,   99,   98,
-        0,    0,    8,   16,    0,    0,    0,    0,  111,    0,
-       32,  114,   37,   53,    0,    0,    0,  103,    0,    0,
-       97,  110,   26,   27,   96,    0,  112,  107,    0,    0,
-        0,    0,    0,  102,    0,   42,    0,    6,   28,    0,
-        0,    0,    0,    0,   94,    0,    0,    0,    0,    0,
-        0,    0,    0,   36,    0,    0,    0,    0,    0,    0,
-        0,    0,    9,    0,    0,    0,    0,   18,    0,    0,
-        0,    0,   10,  100,   11,    0,  101,    0,    0,    0,
-       34,    0,    0,    0,   13,    0,   15,   14,    0,    0,
-
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-       31,    0,    0,    0,    0,    0,    0,    0,   39,    0,
-        0,    0,    0,   17,    0,    0,    0,    0,   30,    0,
-      113,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,  119,    0,  121,  122,    0,   45,    0,
-      120,   19,   46,    0,   20,    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,   74,   74,   75,
+       75,   76,   77,   78,   79,   79,   80,   80,   81,   82,
+       82,   83,   83,   83,   83,   83,   83,   83,   83,   84,
+       84,   85,   85,   85,   85,   85,   85,   85,   85,   86,
+       86,   86,   86,   86,   86,   86,   86,   86,   86,   86,
+       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
+       87,   88,   88,   88,   88,   88,   88,   88,   89,   89,
+
+       89,   89,   89,   89,   89,   89,   89,   89,   89,   89,
+       89,   89,   89,   89,   89,   90,   90,   90,   90,   90,
+       90,   90,   90,   90,   90,   90,   90,   90,   90,   90,
+       90,   91,   92,   94,   95,   96,   97,   97,   98,   99,
+       99,   99,  100,  100,  100,  101,  101,  102,  102,  102,
+      103,  103,  103,  103,  103,  103,  103,  103,  103,  103,
+      104,  104,  104,  104,  104,  104,  104,  104,  104,  104,
+      104,  104,  104,  104,  104,  104,  104,  104,  104,  104,
+      104,  104,  104,  104,  104,  105,  105,  106,  107,  108,
+      109,  110,  111,  111,  112,  113,  113,  113,  114,  114,
+
+      114,  114,  114,  114,  115,  116,  117,  117,  117,  117,
+      118,  119,  119,  119,  120,  120,  120,  120,  120,  120,
+      120,  120,  121,  122,  123,  123,  124,  125,  125,  126,
+      127,  127,  127,  127,  127,  127,  127,  127,  127,  128,
+      128,  128,  129,  130,  130,  130,  130,  131,  131,  131,
+      131,  132,  132,  132,  133,  133,  133,  133,  133,  133,
+      133,  133,  133,  133,  133,  133,  133,  133,  133,  133,
+      134,  135,  135,  135,  135,  135,  136,  137,  137,  137,
+      137,  138,  138,  138,  138,  138,  138,  138,  138,  138,
+      139,  140,  140,  140,  141,  141,  141,  141,  142,  143,
+
+      143,  143,  144,  144,  144,  144,  145,  145,  145,  146,
+      146,  146,  147,  147,  148,  149,  149,  149,  149,  149,
+      150,  150,  151,  151,  152,  152,  152,  153,  154,  155,
+      155,  155,  156,  156,  156,  156,  156,  156,  156,  156,
+      156,  156,  156,  156,  156,  156,  156,  157,  157,  158,
+      159,  159,  159,  159,  159,  159,  159,  159,  159,  159,
+      159,  159,  160,  160,  160,  160,  160,  160,  160,  160,
+      160,  160,  160,  160,  160,  161,  161,  161,  161,  162,
+      162,  163,  163,  163,  163,  163,  163,  163,  163,  164,
+      164,  164,  165,  165,  165,  165,  165,  166,  166,  166,
+
+      166,  167,  168,  168,  168,  169,  170,  171,  171,  171,
+      172,  173,  173,  173,  173,  173,  174,  174,  175,  176,
+      177,  178,  178,  178,  178,  179,  179,  179,  180,  181,
+      182,  183,  184,  184,  185,  186,  186,  186,  186,  186,
+      186,  187,  187,  188,  188,  189,  190,  190,  190,  190,
+      190,  190,  191,  191,  191,  191,  191,  191,  191,  191,
+      191,  192,  192,  192,  192,  192,  192,  192,  192,  192,
+      193,  193,  193,  193,  193,  194,  194,  194,  194,  194,
+      195,  196,  197,  197,  198,  198,  198,  198,  199,  199,
+      199,  199,  200,  200,  201,  202,  202,  202,  202,  202,
+
+      202,  202,  202,  202,  202,  202,  202,  202,  203,  203,
+      203,  203,  203,  203,  203,  203,  204,  204,  204,  204,
+      204,  205,  205,  205,  205,  205,  206,  206,  207,  207,
+      207,  207,  207,  207,  207,  207,  207,  207,  207,  207,
+      207,  208,  208,  209,  210,  210,  211,  211,  212,  213,
+      214,  214,  215,  215
     } ;
 
-static yyconst flex_int32_t yy_ec[256] =
+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,
@@ -486,7 +444,7 @@
         1,    1,    1,    1,    1
     } ;
 
-static yyconst flex_int32_t yy_meta[44] =
+static yyconst int yy_meta[44] =
     {   0,
         1,    1,    2,    1,    3,    1,    1,    3,    3,    3,
         3,    3,    3,    4,    1,    3,    3,    3,    3,    3,
@@ -495,262 +453,260 @@
         3,    3,    3
     } ;
 
-static yyconst flex_int16_t yy_base[562] =
+static yyconst short int yy_base[559] =
     {   0,
-        0,    0, 1206, 1207, 1207, 1207, 1201, 1190,   36,   40,
+        0,    0, 1200, 1201, 1201, 1201, 1195, 1184,   36,   40,
        44,   50,   56,   62,    0,   63,   66,   81,   89,   47,
       108,   91,   77,  134,   92,  119,   93,  152,  126,  109,
-      178,  154,  209,  135,  111,  146,  112, 1199, 1207, 1188,
-     1207,    0,  159,  198,  215,  236,   70,  241,  256,  261,
-        0,   68,  147,  128,  165,  176,  166,  262,   31, 1187,
-      168,  200,  206,   48,   72,  265,  170,  101,  208, 1186,
-       73,  227,  203,  215,  180,  274,  139,  225,  229,  278,
-      272,  276,  277,  280,  281,  290,  293,  282,  291,  300,
-      295, 1185,  299,  122,  309,  311,  312,  317,  315,  316,
-
-      324,  304,  319,  301,  326,  331,  327,  330,  333,  340,
-      335,  343,  347,  351,  352, 1184,  355,  348,  357,  360,
-      362,  359,  366,  369,  372,  384,  383,  386,  181,  376,
-      392, 1183,    0,  403,  407, 1182,  424,  441,    0, 1181,
-      407,  393, 1180,  408,  394, 1179,  412, 1178,  429,  428,
-      430, 1177,  442,  409,  444,  446,  432,  448,  449,  454,
-      452,  455,  456,  457,  459,  462,  460,  466,  469,  470,
-      474,  475,  472,  486,  473,  480,  489,  493,  487,  497,
-      499,  500,  501,  503,  504,  507, 1176,  510, 1175, 1174,
-     1173, 1172, 1171, 1170,  508, 1169, 1168,  512,  511, 1167,
-
-      539,  514,  517,  518,  520, 1166, 1165, 1164,  522,  521,
-      515, 1163, 1162,  550,  551, 1161,  552,  553,  554,  555,
-      560,  558,  556, 1160, 1159, 1158,  561, 1157, 1156,  562,
-     1155, 1154,  564,  557,  576,  578,  580,  582,  584,  559,
-     1153,  585,  586, 1207,  597,  614,  618,  622,  627,  628,
-      590,  629, 1152,  630,  599, 1151, 1150,  631,  632,  633,
-      634,  635,  636,  589,  637,  641,  639,  643,  642,  660,
-      650,  644, 1149, 1148,  652,  658,  661,  662, 1147, 1146,
-      667,  666,  668, 1145,  669,  670,  672,  674,  591,  673,
-      676,  680, 1144, 1143,  679,  684, 1142,  687,  689,  690,
-
-        0, 1141,  696,  698, 1140,  700,  704,  706, 1139,  714,
-      715, 1138,  717,  703, 1137,  720, 1136, 1135,  719,  721,
-      702,  724, 1134,  725, 1133,  728, 1132,  730,  732, 1131,
-      737, 1130,  737,  739, 1129,  738,  743,  744,  748,  753,
-      754,  756,  757,  759,  761,  762,  764,  766,  767, 1128,
-      769, 1127, 1126,  772,  773,  770,  768,  779,  782,  784,
-      788,  789,  790,  792, 1125,  791,  793,  796,  795,  798,
-      805,  797,  812,  813,  816,  815,  818, 1124,  414,  817,
-      819, 1123,  820, 1122,  822,  824,  823,  833,  821,  827,
-      835, 1121,  838,  841, 1120,  842,  847,  843,  844, 1119,
-
-      845,  848,  855, 1118, 1117,  856,  849, 1116, 1115, 1114,
-      858,  862, 1113, 1112,  868,  870,  869,  857, 1111,  875,
-     1110, 1109, 1108, 1107,  863,  876,  881, 1106,  883,  885,
-     1105, 1104, 1103, 1102, 1101,  887, 1100, 1099,  886,  888,
-      889,  890,  891, 1098,  894, 1097,  896, 1096, 1095,  900,
-      902,  904,  905,  906, 1094,  907,  909,  912,  913,  911,
-      922,  918,  919, 1093,  924,  925,  933,  935,  929,  936,
-      937,  939, 1092,  941,  945,  946,  947, 1091,  948,  953,
-      951,  955, 1090, 1089, 1088,  954, 1085,  957,  971,  973,
-     1076,  975,  972,  976, 1073,  958, 1072, 1071,  980,  983,
-
-      961,  986,  987,  959,  990,  993,  994,  995,  996,  999,
-     1068,  998, 1001, 1002, 1005, 1006, 1010, 1007, 1067, 1013,
-     1008, 1014, 1018, 1064, 1025, 1020, 1024, 1027, 1063, 1031,
-     1060, 1026, 1032, 1035, 1036, 1038, 1040, 1042, 1045, 1047,
-     1050, 1046, 1051,  962, 1052,  701,  601, 1055,  526, 1061,
-      476,  374,  246, 1056,  245, 1207, 1091, 1093,  254, 1097,
-       57
+      178,  154,  209,  135,  111,  146,  112, 1193, 1201, 1182,
+     1201,    0,  159,  198,  215,  236,   70,  241,  256,  261,
+        0,   68,  147,  128,  165,  176,   73,  262, 1181,   31,
+      170,  166,   48,   49,  265,  185,  101,  198, 1180,  180,
+      227,  207,  208,  225,  274,  139,  276,  228,  278,  272,
+      229,  277,  280,  281,  290,  293,  282,  291,  292,  295,
+     1179,  301,  122,  308,  309,  311,  314,  304,  315,  321,
+
+      322,  323,  324,  325,  326,  327,  330,  329,  335,  339,
+      342,  349,  356,  357, 1178,  359,  347,  361,  362,  364,
+      340,  367,  371,  368,  215,  381,  386,  395,  384,  385,
+     1177,    0,  402,  411, 1176,  425,  442,    0, 1175,  168,
+      411, 1174,  404,  416, 1173,  375, 1172,  419,  402, 1171,
+      443,  427,  444,  445,  403,  433,  415,  447,  448,  452,
+      455,  457,  458,  459,  461,  462,  463,  466,  473,  468,
+      469,  472,  474,  470,  483,  488,  491,  494,  496,  495,
+      498,  499,  500,  501, 1170,  502, 1169, 1168, 1167, 1166,
+     1165, 1164,  504, 1163, 1162,  505,  507, 1161,  535,  514,
+
+      512,  519,  513, 1160, 1159, 1158,  516,  546,  529, 1157,
+     1156,  548,  549, 1155,  527,  508,  551,  552,  556,  554,
+      553, 1154, 1153, 1152,  557, 1151, 1150,  558, 1149, 1148,
+      559,  561,  560,  572,  579,  580,  569,  582, 1147,  566,
+      581, 1201,  592,  600,  609,  613,  618,  602,  620,  621,
+     1146,  622,  623, 1145,  624,  603,  625,  629,  630,  632,
+      633,  634,  636,  640,  637,  641,  645,  647,  651, 1144,
+     1143,  643,  653,  657,  654, 1142, 1141,  659,  660,  663,
+     1140,  664,  667,  668,  669,  670,  671,  675,  677, 1139,
+     1138,  680,  682, 1137,  683,  685,  691,    0, 1136,  690,
+
+      694, 1135,  695,  702,  696, 1134,  704,  710, 1133,  712,
+      699, 1132,  715, 1131, 1130,  716,  718,  719,  720, 1129,
+      723, 1128,  725, 1127,  729,  727, 1126,  734, 1125,  736,
+      592, 1124,  734,  735,  738,  745,  749,  746,  750,  747,
+      755,  757,  760,  758,  761,  763, 1123,  764, 1122, 1121,
+      766,  768,  765,  777,  772,  773,  780,  762,  783,  784,
+      788, 1120,  789,  792,  791,  793,  795,  799,  794,  805,
+      809,  810,  811,  812, 1119,  814,  813,  815, 1118,  816,
+     1117,  820,  822,  817,  829,  833,  818,  834, 1116,  837,
+      839, 1115,  840,  845,  819,  844, 1114,  843,  846,  848,
+
+     1113, 1112,  854,  849, 1111, 1110, 1109,  856,  855, 1108,
+     1107,  860,  861,  868,  867, 1106,  874, 1105, 1104, 1103,
+     1102,  875,  876,  877, 1101,  878,  879, 1100, 1099, 1098,
+     1097, 1096,  880, 1095, 1094,  882,  883,  891,  885,  884,
+     1093,  886, 1092,  888, 1091, 1090,  895,  900,  902,  903,
+      904, 1089,  908,  907,  910,  911,  912,  914,  915,  919,
+     1086,  920,  922,  927,  929,  930,  934,  935,  936, 1077,
+      939,  943,  944,  940, 1076,  946,  948,  950,  951, 1075,
+     1073, 1071,  955, 1070,  962,  952,  964, 1069,  969,  972,
+      974, 1068,  956, 1067, 1064,  975,  981,  978,  983,  982,
+
+      957,  984,  985,  989,  992,  994,  995, 1063,  993,  996,
+      999, 1002, 1005, 1006, 1003, 1062, 1010, 1013, 1016, 1017,
+     1058, 1011, 1021, 1022, 1023,  954, 1024,  700, 1030, 1027,
+     1033, 1036, 1029, 1037, 1038, 1039, 1041, 1047, 1043, 1051,
+      521, 1049,  471,  432, 1052,  431, 1056,  365,  248,  247,
+     1057,  216, 1201, 1092, 1094,  107, 1098,  106
     } ;
 
-static yyconst flex_int16_t yy_def[562] =
+static yyconst short int yy_def[559] =
     {   0,
-      556,    1,  556,  556,  556,  556,  557,  558,  559,  556,
-      558,  558,  558,  558,  560,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  557,  556,  558,
-      556,  561,  561,  556,  556,  558,  558,  558,  558,  558,
-      560,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-       24,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  556,  561,  561,  556,  558,  558,  558,   50,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-
-       50,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  556,  556,  556,  556,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-
-      201,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      556,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,    0,  556,  556,  556,  556,
-      556
+      553,    1,  553,  553,  553,  553,  554,  555,  556,  553,
+      555,  555,  555,  555,  557,  555,  555,  555,  555,  555,
+      555,  555,  555,  555,  555,  555,  555,  555,  555,  555,
+      555,  555,  555,  555,  555,  555,  555,  554,  553,  555,
+      553,  558,  558,  553,  553,  555,  555,  555,  555,  555,
+      557,  555,  555,  555,  555,  555,  555,  555,  555,  555,
+      555,  555,  555,  555,  555,  555,  555,  555,  555,  555,
+      555,  555,  555,  555,  555,  555,  555,  555,  555,   24,
+      555,  555,  555,  555,  555,  555,  555,  555,  555,  555,
+      555,  555,  555,  555,  555,  555,  555,  555,  555,  555,
+
+      555,  555,  555,  555,  555,  555,  555,  555,  555,  555,
+      555,  555,  555,  555,  555,  555,  555,  555,  555,  555,
+      555,  555,  555,  555,  555,  555,  555,  555,  555,  555,
+      553,  558,  558,  553,  555,  555,  555,   50,  555,  555,
+      555,  555,  555,  555,  555,  555,  555,  555,  555,  555,
+      555,  555,  555,  555,  555,  555,  555,  555,  555,  555,
+      555,  555,  555,  555,  555,  555,  555,  555,  555,  555,
+      555,  555,  555,  555,  555,  555,  555,  555,  555,  555,
+      555,  555,  555,  555,  555,  555,  555,  555,  555,  555,
+      555,  555,  555,  555,  555,  555,  555,  555,   50,  555,
+
+      555,  555,  555,  555,  555,  555,  555,  555,  555,  555,
+      555,  555,  555,  555,  555,  555,  555,  555,  555,  555,
+      555,  555,  555,  555,  555,  555,  555,  555,  555,  555,
+      555,  555,  555,  555,  555,  555,  555,  555,  555,  555,
+      555,  553,  553,  553,  553,  555,  555,  555,  555,  555,
+      555,  555,  555,  555,  555,  555,  555,  555,  555,  555,
+      555,  555,  555,  555,  555,  555,  555,  555,  555,  555,
+      555,  555,  555,  555,  555,  555,  555,  555,  555,  555,
+      555,  555,  555,  555,  555,  555,  555,  555,  555,  555,
+      555,  555,  555,  555,  555,  555,  555,  199,  555,  555,
+
+      555,  555,  555,  555,  555,  555,  555,  555,  555,  555,
+      555,  555,  555,  555,  555,  555,  555,  555,  555,  555,
+      555,  555,  555,  555,  555,  555,  555,  553,  555,  555,
+      555,  555,  555,  555,  555,  555,  555,  555,  555,  555,
+      555,  555,  555,  555,  555,  555,  555,  555,  555,  555,
+      555,  555,  555,  555,  555,  555,  555,  555,  555,  555,
+      555,  555,  555,  555,  555,  555,  555,  555,  555,  555,
+      555,  555,  555,  555,  555,  555,  555,  555,  555,  555,
+      555,  555,  555,  555,  555,  555,  555,  555,  555,  555,
+      555,  555,  555,  555,  555,  555,  555,  555,  555,  555,
+
+      555,  555,  555,  555,  555,  555,  555,  555,  555,  555,
+      555,  555,  555,  555,  555,  555,  555,  555,  555,  555,
+      555,  555,  555,  555,  555,  555,  555,  555,  555,  555,
+      555,  555,  555,  555,  555,  555,  555,  555,  555,  555,
+      555,  555,  555,  555,  555,  555,  555,  555,  555,  555,
+      555,  555,  555,  555,  555,  555,  555,  555,  555,  555,
+      555,  555,  555,  555,  555,  555,  555,  555,  555,  555,
+      555,  555,  555,  555,  555,  555,  555,  555,  555,  555,
+      555,  555,  555,  555,  555,  555,  555,  555,  555,  555,
+      555,  555,  555,  555,  555,  555,  555,  555,  555,  555,
+
+      555,  555,  555,  555,  555,  555,  555,  555,  555,  555,
+      555,  555,  555,  555,  555,  555,  555,  555,  555,  555,
+      555,  555,  555,  555,  555,  555,  555,  555,  555,  555,
+      555,  555,  555,  555,  555,  555,  555,  555,  555,  555,
+      555,  555,  555,  555,  555,  555,  555,  555,  555,  555,
+      555,  555,    0,  553,  553,  553,  553,  553
     } ;
 
-static yyconst flex_int16_t yy_nxt[1251] =
+static yyconst short int yy_nxt[1245] =
     {   0,
         4,    5,    6,    7,    8,    9,   10,   11,   12,   13,
        14,   14,   14,    4,   15,    8,    8,    8,   16,   17,
        18,   19,   20,   21,   22,   23,   24,    8,   25,   26,
        27,   28,   29,    8,   30,   31,   32,   33,   34,   35,
        36,    8,   37,   43,   41,   44,   44,   44,   44,   45,
-       45,   45,   45,   46,   46,   46,   46,   41,   47,  133,
-       41,   41,  150,   41,   48,   49,   49,   49,   49,   41,
-       48,   49,   49,   49,   49,   41,   41,   69,  136,   41,
-       70,   41,  155,   41,   52,   41,   41,   71,   57,  140,
-       41,   53,   58,   54,   41,   55,   50,   59,   56,   61,
-
-       60,   62,   41,   80,   41,   41,   41,   65,  156,  163,
-       85,   66,   63,   78,   41,   92,   64,   67,   86,   79,
-       68,   41,   41,   87,   41,   41,   72,   88,   73,   74,
-       93,  103,   41,  128,  131,   41,   75,   89,  161,   41,
-       76,   41,   77,   81,   81,   81,   81,   41,   41,  143,
-       90,  100,   41,  126,   82,  189,   91,  101,  129,   41,
-       41,  171,  102,   83,   84,   41,  127,   41,  134,  134,
-      134,  134,  115,  141,   94,  142,   95,  130,   41,   41,
-       96,   41,   97,   41,   98,  116,   99,  104,  117,   41,
-      147,   41,  240,   41,   41,  118,  151,  144,  160,  105,
-
-      106,  145,  107,  108,  109,  146,  110,   44,   44,   44,
-       44,  168,  111,   41,  112,  113,   41,  114,  104,   41,
-      152,   41,   41,  135,   45,   45,   45,   45,   41,  162,
-      119,  120,  166,  121,  153,  122,  154,  123,   41,  124,
-       41,  167,   41,  125,   48,   46,   46,   46,   46,   41,
-      137,  137,  137,  137,   41,  164,   42,  138,   41,   41,
-      173,  172,  165,  138,   48,   49,   49,   49,   49,   41,
-      139,  139,  139,  139,   41,   41,  139,  139,   41,  139,
-      139,  139,  139,  139,  139,  157,  148,   41,  158,   41,
-       41,   41,   40,   41,   41,   41,  169,  159,  149,  174,
-
-      180,   40,   40,   41,   41,  175,   41,  184,   41,  176,
-      170,  183,   41,   41,   41,  177,  178,   41,  179,  185,
-      181,  186,   41,  187,   41,   41,  182,  188,   41,   41,
-       41,  190,   41,  192,  194,  195,  196,   41,  199,   41,
-       41,  201,  197,   41,   41,  191,   41,  193,   41,  206,
-      198,  203,  202,   41,  210,  200,   41,  214,  208,  204,
-       41,   41,  212,  207,   41,   41,  216,  209,   41,  211,
-       41,  205,   41,   41,  215,   41,  213,  217,  218,   41,
-      222,  220,   41,  223,  225,   41,  219,   41,  228,   41,
-      230,  231,  221,  224,  235,  227,   41,   41,  226,   41,
-
-      232,  236,  229,  233,  239,   41,   41,   41,  234,  237,
-      241,  238,  134,  134,  134,  134,  245,  245,  245,  245,
-       41,   41,   41,  246,  251,   41,  242,   41,  253,  246,
-      252,  250,  243,  137,  137,  137,  137,   41,  254,  432,
-      138,   41,   41,   41,  259,   41,  138,  247,  248,  255,
-      249,  249,  249,  249,   41,   41,  256,   41,  257,   41,
-      262,   41,   41,  258,  261,   41,  260,   41,   41,   41,
-       41,  267,   41,   41,  263,   41,  265,  264,  269,   41,
-      266,  268,   41,   41,  275,   41,   41,   41,   41,   41,
-      270,  282,  271,   41,  273,  272,  279,  281,  274,   41,
-
-       41,  277,   41,  280,  278,  284,   41,  283,  285,  276,
-       41,  286,   41,   41,   41,  287,   41,   41,  289,  290,
-       41,   41,  293,   41,   41,   41,  291,   41,   41,  288,
-       41,   41,  295,   41,   41,   41,  292,  294,  297,   41,
-      304,  298,  299,  307,  296,  306,  308,  300,  301,  301,
-      301,  301,  302,  303,  301,  301,  305,  301,  301,  301,
-      301,  301,  301,   41,   41,   41,   41,   41,   41,   41,
-       41,   41,   41,   41,   41,   41,  328,   41,  313,  309,
-      317,  312,  315,  322,  320,  310,  321,  314,  311,   41,
-      316,   41,  319,   41,  318,   41,  324,   41,   41,   41,
-
-      326,  325,   41,   41,   41,  323,  245,  245,  245,  245,
-      333,  327,   41,  246,   41,  343,  329,  336,  364,  246,
-      247,  247,  330,  331,  331,  331,  331,  331,  331,  331,
-      331,  249,  249,  249,  249,   41,  249,  249,  249,  249,
-       41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
-       41,  337,   41,  341,   41,   41,   41,   41,  332,  334,
-      335,  347,  340,   41,  351,   41,  342,  346,  338,  339,
-      345,   41,  350,   41,   41,   41,  348,  344,  349,   41,
-       41,   41,   41,   41,  358,   41,   41,   41,  352,   41,
-      359,  360,   41,   41,  353,  357,  354,   41,  355,  356,
-
-       41,  365,   41,   41,  361,  363,  362,  366,  367,   41,
-      368,   41,  369,   41,   41,   41,   41,   41,  374,   41,
-      385,  372,  373,  375,  370,  371,  376,   41,   41,  377,
-       41,  381,   41,   41,   41,  379,  378,   41,   41,  380,
-      382,   41,  383,   41,  384,   41,  331,  331,  331,  331,
-       41,   41,   41,  389,  386,  392,   41,   41,  391,  387,
-      393,   41,  396,  395,  388,  390,   41,   41,  397,   41,
-       41,  398,   41,  394,   41,   41,  401,   41,  400,   41,
-       41,   41,   41,   41,  404,   41,   41,  407,  399,  408,
-      412,  402,   41,  403,  405,   41,  406,   41,  409,  410,
-
-      411,   41,   41,   41,   41,   41,   41,  413,   41,   41,
-       41,   41,  414,  415,  419,  421,  422,  423,   41,  417,
-      424,  420,  418,  426,  416,   41,   41,  425,   41,   41,
-       41,   41,   41,   41,   41,   41,   41,   41,  430,  440,
-       41,  434,  436,  427,  429,  437,   41,  438,   41,  428,
-      431,   41,  435,  433,   41,   41,   41,   41,   41,  439,
-       41,   41,   41,  441,  443,  442,  448,  446,   41,   41,
-       41,   41,  445,  452,  453,   41,   41,  444,  455,  450,
-      449,   41,   41,   41,  447,  454,  451,  459,   41,   41,
-      457,  456,  458,  460,   41,  461,   41,  462,   41,   41,
-
-       41,   41,   41,   41,   41,  465,  463,   41,  466,   41,
-      470,  464,  467,   41,  468,   41,  471,   41,   41,   41,
-       41,  472,   41,  469,   41,   41,   41,  474,  479,  480,
-      473,   41,   41,  478,  475,   41,  476,   41,   41,  481,
-      482,  483,   41,  477,  485,  484,   41,  489,   41,   41,
-       41,  490,   41,  486,   41,  487,  493,  491,   41,   41,
-       41,   41,  488,  495,   41,  492,   41,   41,   41,  499,
-       41,   41,   41,  494,   41,   41,  500,  503,  496,  505,
-      504,  497,  498,  501,   41,   41,   41,  502,   41,   41,
-      509,  506,  507,   41,  511,  508,   41,  514,  512,   41,
-
-       41,  517,  510,   41,  515,  513,   41,   41,   41,   41,
-      518,   41,   41,  521,   41,   41,  516,  523,   41,   41,
-       41,   41,  520,   41,  522,  524,   41,   41,  528,  519,
-      525,   41,  529,   41,  526,  531,  532,   41,   41,   41,
-       41,  527,  533,  530,   41,   41,  534,  535,   41,   41,
-      537,   41,  541,   41,  540,   41,  536,  538,   41,   41,
-       41,  542,  539,   41,   41,   41,  543,  548,   41,   41,
-      549,  545,  544,   41,   41,  553,   41,   41,  546,  547,
-       41,   41,  552,  554,   41,   41,   41,  551,  550,   41,
-      555,   38,   38,   38,   38,   40,   40,   51,   41,   51,
+       45,   45,   45,   46,   46,   46,   46,   41,   47,  149,
+       41,   41,   41,   41,   48,   49,   49,   49,   49,   41,
+       48,   49,   49,   49,   49,   41,   41,   68,  135,   41,
+       69,   41,  153,   41,   52,  154,   41,   70,   57,  139,
+       41,   53,   58,   54,   41,   55,   50,  146,   56,   60,
+
+       59,   61,   41,   79,   41,   41,   41,   64,  132,   42,
+       84,   65,   62,   77,   41,   91,   63,   66,   85,   78,
+       67,   41,   41,   86,   41,   41,   71,   87,   72,   73,
+       92,  102,   41,  127,  130,   41,   74,   88,  159,   41,
+       75,   41,   76,   80,   80,   80,   80,   41,   41,  142,
+       89,   99,   41,  125,   81,  187,   90,  100,  128,   41,
+       41,  169,  101,   82,   83,   41,  126,   41,  133,  133,
+      133,  133,  114,  140,   93,  141,   94,  129,   41,   41,
+       95,   41,   96,   41,   97,  115,   98,  103,  116,   41,
+      150,   41,  248,   41,  151,  117,  152,  143,   41,  104,
+
+      105,  144,  106,  107,  108,  145,  109,   44,   44,   44,
+       44,   41,  110,  158,  111,  112,  161,  113,  103,  160,
+       41,   41,   41,  134,   45,   45,   45,   45,   41,   41,
+      118,  119,  234,  120,  165,  121,  164,  122,   41,  123,
+       41,   41,   41,  124,   48,   46,   46,   46,   46,   41,
+      136,  136,  136,  136,   41,  162,  166,  137,  173,  171,
+       41,   41,  163,  137,   48,   49,   49,   49,   49,   41,
+      138,  138,  138,  138,   41,   41,  138,  138,   41,  138,
+      138,  138,  138,  138,  138,  155,  147,   41,  156,   41,
+       41,   41,   40,   41,   41,   41,  167,  157,  148,  172,
+
+      178,   40,   40,   41,   41,   41,   41,  182,   41,  174,
+      168,  181,  170,  184,   41,  175,  176,   41,  177,  183,
+      179,   41,   41,  185,   41,  194,  180,   41,   41,  186,
+      188,  190,  193,  192,   41,   41,   41,   41,   41,   41,
+       41,  195,   41,   41,  189,  191,  201,  196,   41,  204,
+      208,  200,   41,   41,  202,   41,  197,  210,  206,  198,
+       41,  212,   41,  205,  199,  209,  203,  207,  214,   41,
+       41,  211,   41,  213,   41,   41,  225,   41,   41,  220,
+       41,   41,  215,  216,   41,  218,  223,  221,   41,  226,
+      233,  217,  228,  229,   41,  222,  219,   41,   41,   41,
+
+      224,  252,  230,  227,  237,  231,  238,  235,   41,  236,
+      232,  133,  133,  133,  133,   41,   41,   41,  239,  240,
+      243,  243,  243,  243,   41,  241,  250,  244,   41,   41,
+      254,  259,   41,  244,  136,  136,  136,  136,   41,  253,
+       41,  137,  249,  261,   41,   41,   41,  137,  245,  246,
+      251,  247,  247,  247,  247,   41,   41,   41,   41,  260,
+       41,   41,  256,  258,  255,   41,  257,  264,   41,  262,
+       41,   41,   41,  263,   41,   41,   41,  266,  265,   41,
+      272,   41,   41,   41,   41,   41,   41,   41,  279,  267,
+      278,  270,  268,  280,  269,  276,   41,  274,  282,  271,
+
+      275,   41,  277,  273,   41,  283,  281,   41,   41,   41,
+      284,   41,   41,   41,   41,   41,  287,   41,   41,  290,
+       41,   41,  286,  288,  285,   41,   41,   41,  292,   41,
+      294,  289,   41,  291,   41,  296,  309,  295,  293,  303,
+       41,  301,   41,  297,  298,  298,  298,  298,  300,  302,
+      298,  298,  299,  298,  298,  298,  298,  298,  298,   41,
+      305,   41,   41,  308,   41,   41,   41,   41,  304,   41,
+       41,   41,   41,   41,   41,  310,  314,  306,  312,   41,
+      317,  318,   41,  307,  311,   41,  313,  319,  316,  320,
+      321,  315,   41,   41,   41,   41,  324,  326,  323,  325,
+
+      322,  243,  243,  243,  243,   41,  245,  245,  244,  328,
+      328,  328,  328,  390,  244,   41,   41,  327,  328,  328,
+      328,  328,  247,  247,  247,  247,   41,  247,  247,  247,
+      247,   41,  329,   41,   41,   41,   41,   41,   41,  335,
+      330,  333,   41,   41,  334,   41,   41,   41,  338,   41,
+       41,  331,  332,   41,   41,  344,   41,  337,   41,  340,
+       41,  336,  339,  346,   41,  342,   41,   41,  343,  347,
+       41,  348,   41,   41,  341,  345,   41,   41,  355,  349,
+       41,   41,   41,   41,   41,  356,  357,  354,   41,  350,
+       41,  353,  351,   41,  352,   41,   41,  361,   41,  362,
+
+      360,  358,  359,   41,   41,  364,  363,   41,   41,   41,
+      366,  365,   41,   41,  371,   41,  370,   41,  372,  374,
+      367,  368,  369,   41,  373,   41,  375,  378,   41,   41,
+      376,   41,   41,   41,  377,  379,   41,  382,   41,  380,
+       41,  381,   41,  328,  328,  328,  328,   41,   41,   41,
+      383,   41,  386,  388,  389,  392,  393,  384,   41,   41,
+       41,  385,   41,   41,  387,  394,  398,  395,   41,  391,
+       41,   41,  397,   41,   41,   41,   41,   41,   41,   41,
+      396,   41,  401,  404,  405,   41,   41,  399,  402,  400,
+       41,  403,  406,   41,  407,  408,   41,   41,  413,  409,
+
+      410,   41,   41,  411,   41,   41,   41,   41,   41,  412,
+      416,  419,   41,  414,  418,  420,  415,  421,   41,  417,
+      423,  422,   41,   41,   41,   41,   41,   41,   41,   41,
+       41,   41,   41,   41,  427,   41,  424,  431,  426,  429,
+      433,  435,   41,  434,  428,  425,   41,   41,  432,  430,
+       41,  437,   41,   41,  438,  436,   41,   41,   41,   41,
+      444,   41,   41,  440,  439,  443,  445,   41,   41,   41,
+      442,  449,  450,   41,   41,  441,  452,  447,  446,  448,
+       41,   41,  454,  455,  453,  451,  456,   41,   41,   41,
+       41,   41,   41,   41,  458,   41,   41,   41,   41,   41,
+
+      462,   41,  463,  457,   41,  464,  460,  461,   41,  459,
+      465,  468,  467,   41,  469,   41,   41,   41,  466,  471,
+       41,   41,  470,   41,   41,   41,  476,   41,   41,  472,
+      477,  475,   41,   41,  473,   41,  482,  478,  479,  480,
+       41,  474,   41,   41,  486,  487,  481,   41,   41,   41,
+      483,  488,   41,   41,  490,  484,   41,   41,  485,   41,
+      492,   41,  496,   41,   41,   41,  489,   41,   41,   41,
+       41,  491,  503,  500,  497,   41,  493,   41,  498,  494,
+      495,  501,   41,  504,  502,   41,  499,   41,   41,  505,
+      506,   41,  508,  509,   41,   41,   41,   41,   41,  514,
+
+      507,  512,   41,  510,  515,   41,   41,   41,   41,   41,
+      518,  513,   41,  520,  511,   41,   41,  517,   41,   41,
+      521,  516,  519,   41,   41,  522,   41,  525,  526,   41,
+       41,  523,  528,  532,   41,   41,   41,   41,  524,  527,
+       41,  529,   41,   41,  530,  531,   41,  538,  534,   41,
+       41,   41,   41,  535,   41,  536,   41,  533,  537,  539,
+       41,  545,   41,  541,   41,   41,  540,  546,  542,   41,
+       41,   41,  550,  544,  543,   41,   41,   41,  551,  549,
+       41,   41,   41,   41,   41,  547,   41,  548,   41,   41,
+       41,  552,   38,   38,   38,   38,   40,   40,   51,   41,
 
-       51,   41,   41,   41,   41,   41,   41,   41,   41,   41,
+       51,   51,   41,   41,   41,   41,   41,   41,   41,   41,
        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
@@ -759,182 +715,172 @@
        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
-       41,   41,   41,   41,   41,   41,  244,   41,   41,   41,
+      242,   41,   41,   41,   41,   41,  131,   41,   39,  553,
 
-       41,   41,  132,   41,   39,  556,    3,  556,  556,  556,
-      556,  556,  556,  556,  556,  556,  556,  556,  556,  556,
-      556,  556,  556,  556,  556,  556,  556,  556,  556,  556,
-      556,  556,  556,  556,  556,  556,  556,  556,  556,  556,
-      556,  556,  556,  556,  556,  556,  556,  556,  556,  556
+        3,  553,  553,  553,  553,  553,  553,  553,  553,  553,
+      553,  553,  553,  553,  553,  553,  553,  553,  553,  553,
+      553,  553,  553,  553,  553,  553,  553,  553,  553,  553,
+      553,  553,  553,  553,  553,  553,  553,  553,  553,  553,
+      553,  553,  553,  553
     } ;
 
-static yyconst flex_int16_t yy_chk[1251] =
+static yyconst short int yy_chk[1245] =
     {   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,    1,    1,    9,   59,    9,    9,    9,    9,   10,
-       10,   10,   10,   11,   11,   11,   11,   11,   12,  561,
-       20,   64,   59,   12,   13,   13,   13,   13,   13,   13,
+        1,    1,    1,    9,   60,    9,    9,    9,    9,   10,
+       10,   10,   10,   11,   11,   11,   11,   11,   12,   60,
+       20,   63,   64,   12,   13,   13,   13,   13,   13,   13,
        14,   14,   14,   14,   14,   14,   16,   20,   47,   17,
-       20,   52,   64,   47,   16,   65,   71,   20,   17,   52,
-       23,   16,   17,   16,   18,   16,   13,   17,   16,   18,
+       20,   52,   63,   47,   16,   64,   57,   20,   17,   52,
+       23,   16,   17,   16,   18,   16,   13,   57,   16,   18,
 
-       17,   18,   19,   23,   22,   25,   27,   19,   65,   71,
-       25,   19,   18,   22,   68,   27,   18,   19,   25,   22,
+       17,   18,   19,   23,   22,   25,   27,   19,  558,  556,
+       25,   19,   18,   22,   67,   27,   18,   19,   25,   22,
        19,   21,   30,   25,   35,   37,   21,   25,   21,   21,
-       27,   30,   26,   35,   37,   94,   21,   26,   68,   29,
+       27,   30,   26,   35,   37,   93,   21,   26,   67,   29,
        21,   54,   21,   24,   24,   24,   24,   24,   34,   54,
-       26,   29,   77,   34,   24,   94,   26,   29,   36,   36,
-       53,   77,   29,   24,   24,   28,   34,   32,   43,   43,
-       43,   43,   32,   53,   28,   53,   28,   36,   55,   57,
-       28,   61,   28,   67,   28,   32,   28,   31,   32,   56,
-       57,   31,  129,   75,  129,   32,   61,   55,   67,   31,
+       26,   29,   76,   34,   24,   93,   26,   29,   36,   36,
+       53,   76,   29,   24,   24,   28,   34,   32,   43,   43,
+       43,   43,   32,   53,   28,   53,   28,   36,   55,   62,
+       28,  140,   28,   61,   28,   32,   28,   31,   32,   56,
+       61,   31,  140,   70,   62,   32,   62,   55,   66,   31,
 
        31,   56,   31,   31,   31,   56,   31,   44,   44,   44,
-       44,   75,   31,   62,   31,   31,   73,   31,   33,   63,
-       62,   69,   33,   45,   45,   45,   45,   45,   74,   69,
-       33,   33,   73,   33,   63,   33,   63,   33,   78,   33,
-       72,   74,   79,   33,   46,   46,   46,   46,   46,   46,
-       48,   48,   48,   48,   48,   72,  559,   48,  555,  553,
-       79,   78,   72,   48,   49,   49,   49,   49,   49,   49,
-       50,   50,   50,   50,   50,   58,   50,   50,   66,   50,
-       50,   50,   50,   50,   50,   66,   58,   76,   66,   82,
-       83,   80,   81,   84,   85,   88,   76,   66,   58,   80,
-
-       85,   81,   81,   86,   89,   82,   87,   88,   91,   83,
-       76,   87,   93,   90,  104,   84,   84,  102,   84,   89,
-       86,   90,   95,   91,   96,   97,   86,   93,   99,  100,
-       98,   95,  103,   96,   97,   98,   99,  101,  102,  105,
-      107,  104,  100,  108,  106,   95,  109,   96,  111,  107,
-      101,  106,  105,  110,  109,  103,  112,  111,  108,  106,
-      113,  118,  110,  107,  114,  115,  113,  108,  117,  109,
-      119,  106,  122,  120,  112,  121,  110,  114,  115,  123,
-      118,  117,  124,  119,  121,  125,  115,  552,  123,  130,
-      124,  124,  117,  120,  125,  122,  127,  126,  121,  128,
-
-      124,  126,  123,  124,  128,  131,  142,  145,  124,  127,
-      130,  127,  134,  134,  134,  134,  135,  135,  135,  135,
-      141,  144,  154,  135,  142,  147,  131,  379,  145,  135,
-      144,  141,  131,  137,  137,  137,  137,  137,  147,  379,
-      137,  150,  149,  151,  154,  157,  137,  138,  138,  149,
-      138,  138,  138,  138,  138,  153,  150,  155,  151,  156,
-      157,  158,  159,  153,  156,  161,  155,  160,  162,  163,
-      164,  161,  165,  167,  158,  166,  160,  159,  163,  168,
-      160,  162,  169,  170,  168,  173,  175,  171,  172,  551,
-      163,  173,  164,  176,  166,  165,  171,  172,  167,  174,
-
-      179,  170,  177,  171,  170,  175,  178,  174,  176,  169,
-      180,  177,  181,  182,  183,  178,  184,  185,  179,  180,
-      186,  195,  183,  188,  199,  198,  181,  202,  211,  178,
-      203,  204,  185,  205,  210,  209,  182,  184,  188,  549,
-      204,  195,  198,  210,  186,  209,  211,  199,  201,  201,
-      201,  201,  202,  203,  201,  201,  205,  201,  201,  201,
-      201,  201,  201,  214,  215,  217,  218,  219,  220,  223,
-      234,  222,  240,  221,  227,  230,  240,  233,  219,  214,
-      222,  218,  221,  234,  230,  215,  233,  220,  217,  235,
-      221,  236,  227,  237,  223,  238,  236,  239,  242,  243,
-
-      238,  237,  264,  251,  289,  235,  245,  245,  245,  245,
-      251,  239,  255,  245,  547,  264,  242,  255,  289,  245,
-      246,  246,  243,  246,  246,  246,  246,  247,  247,  247,
-      247,  248,  248,  248,  248,  248,  249,  249,  249,  249,
-      249,  250,  252,  254,  258,  259,  260,  261,  262,  263,
-      265,  258,  267,  262,  266,  269,  268,  272,  250,  252,
-      254,  268,  261,  271,  272,  275,  263,  267,  259,  260,
-      266,  276,  271,  270,  277,  278,  269,  265,  270,  282,
-      281,  283,  285,  286,  282,  287,  290,  288,  275,  291,
-      283,  285,  295,  292,  276,  281,  277,  296,  277,  278,
-
-      298,  290,  299,  300,  286,  288,  287,  291,  292,  303,
-      295,  304,  296,  306,  546,  321,  314,  307,  304,  308,
-      321,  300,  303,  306,  298,  299,  307,  310,  311,  308,
-      313,  314,  319,  316,  320,  311,  310,  322,  324,  313,
-      316,  326,  319,  328,  320,  329,  331,  331,  331,  331,
-      333,  336,  334,  328,  322,  333,  337,  338,  329,  324,
-      334,  339,  338,  337,  326,  328,  340,  341,  339,  342,
-      343,  340,  344,  336,  345,  346,  343,  347,  342,  348,
-      349,  357,  351,  356,  346,  354,  355,  349,  341,  351,
-      357,  344,  358,  345,  347,  359,  348,  360,  354,  355,
-
-      356,  361,  362,  363,  366,  364,  367,  358,  369,  368,
-      372,  370,  359,  360,  364,  367,  368,  369,  371,  362,
-      370,  366,  363,  372,  361,  373,  374,  371,  376,  375,
-      380,  377,  381,  383,  389,  385,  387,  386,  376,  389,
-      390,  381,  385,  373,  375,  386,  388,  387,  391,  374,
-      377,  393,  383,  380,  394,  396,  398,  399,  401,  388,
-      397,  402,  407,  390,  393,  391,  399,  397,  403,  406,
-      418,  411,  396,  406,  406,  412,  425,  394,  411,  402,
-      401,  415,  417,  416,  398,  407,  403,  417,  420,  426,
-      415,  412,  416,  418,  427,  420,  429,  425,  430,  439,
-
-      436,  440,  441,  442,  443,  429,  426,  445,  430,  447,
-      441,  427,  436,  450,  439,  451,  442,  452,  453,  454,
-      456,  443,  457,  440,  460,  458,  459,  447,  454,  456,
-      445,  462,  463,  453,  450,  461,  451,  465,  466,  457,
-      458,  459,  469,  452,  461,  460,  467,  466,  468,  470,
-      471,  467,  472,  462,  474,  463,  470,  468,  475,  476,
-      477,  479,  465,  472,  481,  469,  480,  486,  482,  477,
-      488,  496,  504,  471,  501,  544,  479,  482,  474,  488,
-      486,  475,  476,  480,  489,  493,  490,  481,  492,  494,
-      493,  489,  490,  499,  496,  492,  500,  501,  499,  502,
-
-      503,  504,  494,  505,  502,  500,  506,  507,  508,  509,
-      505,  512,  510,  508,  513,  514,  503,  510,  515,  516,
-      518,  521,  507,  517,  509,  512,  520,  522,  516,  506,
-      513,  523,  517,  526,  514,  520,  521,  527,  525,  532,
-      528,  515,  522,  518,  530,  533,  523,  525,  534,  535,
-      527,  536,  533,  537,  532,  538,  526,  528,  539,  542,
-      540,  534,  530,  541,  543,  545,  535,  540,  548,  554,
-      541,  537,  536,  531,  550,  548,  529,  524,  538,  539,
-      519,  511,  545,  550,  498,  497,  495,  543,  542,  491,
-      554,  557,  557,  557,  557,  558,  558,  560,  487,  560,
-
-      560,  485,  484,  483,  478,  473,  464,  455,  449,  448,
-      446,  444,  438,  437,  435,  434,  433,  432,  431,  428,
-      424,  423,  422,  421,  419,  414,  413,  410,  409,  408,
-      405,  404,  400,  395,  392,  384,  382,  378,  365,  353,
-      352,  350,  335,  332,  330,  327,  325,  323,  318,  317,
-      315,  312,  309,  305,  302,  297,  294,  293,  284,  280,
-      279,  274,  273,  257,  256,  253,  241,  232,  231,  229,
-      228,  226,  225,  224,  216,  213,  212,  208,  207,  206,
-      200,  197,  196,  194,  193,  192,  191,  190,  189,  187,
-      152,  148,  146,  143,  140,  136,  132,  116,   92,   70,
-
-       60,   40,   38,    8,    7,    3,  556,  556,  556,  556,
-      556,  556,  556,  556,  556,  556,  556,  556,  556,  556,
-      556,  556,  556,  556,  556,  556,  556,  556,  556,  556,
-      556,  556,  556,  556,  556,  556,  556,  556,  556,  556,
-      556,  556,  556,  556,  556,  556,  556,  556,  556,  556
+       44,   68,   31,   66,   31,   31,   70,   31,   33,   68,
+       72,   73,   33,   45,   45,   45,   45,   45,  125,  552,
+       33,   33,  125,   33,   73,   33,   72,   33,   74,   33,
+       71,   78,   81,   33,   46,   46,   46,   46,   46,   46,
+       48,   48,   48,   48,   48,   71,   74,   48,   81,   78,
+      550,  549,   71,   48,   49,   49,   49,   49,   49,   49,
+       50,   50,   50,   50,   50,   58,   50,   50,   65,   50,
+       50,   50,   50,   50,   50,   65,   58,   75,   65,   77,
+       82,   79,   80,   83,   84,   87,   75,   65,   58,   79,
+
+       84,   80,   80,   85,   88,   89,   86,   87,   90,   82,
+       75,   86,   77,   89,   92,   83,   83,   98,   83,   88,
+       85,   94,   95,   90,   96,   98,   85,   97,   99,   92,
+       94,   95,   97,   96,  100,  101,  102,  103,  104,  105,
+      106,   99,  108,  107,   94,   95,  105,  100,  109,  106,
+      108,  104,  110,  121,  105,  111,  101,  109,  107,  102,
+      117,  110,  112,  106,  103,  108,  105,  107,  112,  113,
+      114,  109,  116,  111,  118,  119,  121,  120,  548,  117,
+      122,  124,  113,  114,  123,  116,  120,  118,  146,  122,
+      124,  114,  123,  123,  126,  119,  116,  129,  130,  127,
+
+      120,  146,  123,  122,  127,  123,  128,  126,  128,  126,
+      123,  133,  133,  133,  133,  149,  155,  143,  129,  130,
+      134,  134,  134,  134,  141,  130,  143,  134,  157,  144,
+      149,  155,  148,  134,  136,  136,  136,  136,  136,  148,
+      152,  136,  141,  157,  546,  544,  156,  136,  137,  137,
+      144,  137,  137,  137,  137,  137,  151,  153,  154,  156,
+      158,  159,  152,  154,  151,  160,  153,  159,  161,  158,
+      162,  163,  164,  158,  165,  166,  167,  161,  160,  168,
+      166,  170,  171,  174,  543,  172,  169,  173,  171,  161,
+      170,  164,  162,  172,  163,  169,  175,  168,  174,  165,
+
+      168,  176,  169,  167,  177,  175,  173,  178,  180,  179,
+      176,  181,  182,  183,  184,  186,  178,  193,  196,  181,
+      197,  216,  177,  179,  176,  201,  203,  200,  183,  207,
+      186,  180,  202,  182,  541,  196,  216,  193,  184,  207,
+      215,  202,  209,  197,  199,  199,  199,  199,  201,  203,
+      199,  199,  200,  199,  199,  199,  199,  199,  199,  208,
+      209,  212,  213,  215,  217,  218,  221,  220,  208,  219,
+      225,  228,  231,  233,  232,  217,  220,  212,  219,  240,
+      228,  231,  237,  213,  218,  234,  219,  232,  225,  233,
+      234,  221,  235,  236,  241,  238,  237,  240,  236,  238,
+
+      235,  243,  243,  243,  243,  331,  244,  244,  243,  244,
+      244,  244,  244,  331,  243,  248,  256,  241,  245,  245,
+      245,  245,  246,  246,  246,  246,  246,  247,  247,  247,
+      247,  247,  248,  249,  250,  252,  253,  255,  257,  256,
+      249,  253,  258,  259,  255,  260,  261,  262,  259,  263,
+      265,  250,  252,  264,  266,  265,  272,  258,  267,  261,
+      268,  257,  260,  267,  269,  263,  273,  275,  264,  268,
+      274,  269,  278,  279,  262,  266,  280,  282,  279,  272,
+      283,  284,  285,  286,  287,  280,  282,  278,  288,  273,
+      289,  275,  274,  292,  274,  293,  295,  286,  296,  287,
+
+      285,  283,  284,  300,  297,  289,  288,  301,  303,  305,
+      293,  292,  311,  528,  301,  304,  300,  307,  303,  305,
+      295,  296,  297,  308,  304,  310,  307,  311,  313,  316,
+      308,  317,  318,  319,  310,  313,  321,  318,  323,  316,
+      326,  317,  325,  328,  328,  328,  328,  333,  334,  330,
+      319,  335,  325,  326,  330,  334,  335,  321,  336,  338,
+      340,  323,  337,  339,  325,  336,  340,  337,  341,  333,
+      342,  344,  339,  343,  345,  358,  346,  348,  353,  351,
+      338,  352,  343,  346,  348,  355,  356,  341,  344,  342,
+      354,  345,  351,  357,  352,  353,  359,  360,  358,  354,
+
+      355,  361,  363,  356,  365,  364,  366,  369,  367,  357,
+      361,  365,  368,  359,  364,  366,  360,  367,  370,  363,
+      369,  368,  371,  372,  373,  374,  377,  376,  378,  380,
+      384,  387,  395,  382,  373,  383,  370,  378,  372,  376,
+      382,  384,  385,  383,  374,  371,  386,  388,  380,  377,
+      390,  386,  391,  393,  387,  385,  398,  396,  394,  399,
+      395,  400,  404,  390,  388,  394,  396,  403,  409,  408,
+      393,  403,  403,  412,  413,  391,  408,  399,  398,  400,
+      415,  414,  412,  413,  409,  404,  414,  417,  422,  423,
+      424,  426,  427,  433,  417,  436,  437,  440,  439,  442,
+
+      426,  444,  427,  415,  438,  433,  423,  424,  447,  422,
+      436,  439,  438,  448,  440,  449,  450,  451,  437,  444,
+      454,  453,  442,  455,  456,  457,  451,  458,  459,  447,
+      453,  450,  460,  462,  448,  463,  458,  454,  455,  456,
+      464,  449,  465,  466,  463,  464,  457,  467,  468,  469,
+      459,  465,  471,  474,  467,  460,  472,  473,  462,  476,
+      469,  477,  474,  478,  479,  486,  466,  526,  483,  493,
+      501,  468,  486,  479,  476,  485,  471,  487,  477,  472,
+      473,  483,  489,  487,  485,  490,  478,  491,  496,  489,
+      490,  498,  493,  496,  497,  500,  499,  502,  503,  501,
+
+      491,  499,  504,  497,  502,  505,  509,  506,  507,  510,
+      505,  500,  511,  507,  498,  512,  515,  504,  513,  514,
+      509,  503,  506,  517,  522,  510,  518,  513,  514,  519,
+      520,  511,  517,  522,  523,  524,  525,  527,  512,  515,
+      530,  518,  533,  529,  519,  520,  531,  530,  524,  532,
+      534,  535,  536,  525,  537,  527,  539,  523,  529,  531,
+      538,  537,  542,  533,  540,  545,  532,  538,  534,  547,
+      551,  521,  545,  536,  535,  516,  508,  495,  547,  542,
+      494,  492,  488,  484,  482,  539,  481,  540,  480,  475,
+      470,  551,  554,  554,  554,  554,  555,  555,  557,  461,
+
+      557,  557,  452,  446,  445,  443,  441,  435,  434,  432,
+      431,  430,  429,  428,  425,  421,  420,  419,  418,  416,
+      411,  410,  407,  406,  405,  402,  401,  397,  392,  389,
+      381,  379,  375,  362,  350,  349,  347,  332,  329,  327,
+      324,  322,  320,  315,  314,  312,  309,  306,  302,  299,
+      294,  291,  290,  281,  277,  276,  271,  270,  254,  251,
+      239,  230,  229,  227,  226,  224,  223,  222,  214,  211,
+      210,  206,  205,  204,  198,  195,  194,  192,  191,  190,
+      189,  188,  187,  185,  150,  147,  145,  142,  139,  135,
+      131,  115,   91,   69,   59,   40,   38,    8,    7,    3,
+
+      553,  553,  553,  553,  553,  553,  553,  553,  553,  553,
+      553,  553,  553,  553,  553,  553,  553,  553,  553,  553,
+      553,  553,  553,  553,  553,  553,  553,  553,  553,  553,
+      553,  553,  553,  553,  553,  553,  553,  553,  553,  553,
+      553,  553,  553,  553
     } ;
 
-/* Table of booleans, true if rule could match eol. */
-static yyconst flex_int32_t yy_rule_can_match_eol[137] =
-    {   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, 
-    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
@@ -947,7 +893,8 @@
 //  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>
@@ -956,10 +903,10 @@
 #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
@@ -1080,23 +1027,7 @@
 /* HexIntConstant - Hexadecimal constant generated by the CFE to avoid forcing
  * it to deal with 64 bit numbers.
  */
-#line 1084 "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 1031 "Lexer.cpp"
 
 /* Macros after this point can all be overridden by user definitions in
  * section 1.
@@ -1104,30 +1035,65 @@
 
 #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. */
@@ -1136,11 +1102,12 @@
 #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,
@@ -1148,35 +1115,21 @@
  */
 #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();" -
@@ -1197,20 +1150,14 @@
 #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
@@ -1225,375 +1172,370 @@
 #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 188 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 
+#line 188 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 
-#line 1240 "Lexer.cpp"
 
-	if ( !(yy_init) )
+#line 1185 "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 >= 557 )
+				if ( yy_current_state >= 554 )
 					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 != 556 );
-		yy_cp = (yy_last_accepting_cpos);
-		yy_current_state = (yy_last_accepting_state);
+		while ( yy_current_state != 553 );
 
 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 190 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 190 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { /* Ignore comments for now */ }
 	YY_BREAK
 case 2:
 YY_RULE_SETUP
-#line 192 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 192 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return BEGINTOK; }
 	YY_BREAK
 case 3:
 YY_RULE_SETUP
-#line 193 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 193 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return ENDTOK; }
 	YY_BREAK
 case 4:
 YY_RULE_SETUP
-#line 194 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 194 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return TRUETOK;  }
 	YY_BREAK
 case 5:
 YY_RULE_SETUP
-#line 195 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 195 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return FALSETOK; }
 	YY_BREAK
 case 6:
 YY_RULE_SETUP
-#line 196 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 196 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return DECLARE; }
 	YY_BREAK
 case 7:
 YY_RULE_SETUP
-#line 197 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 197 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return DEFINE; }
 	YY_BREAK
 case 8:
 YY_RULE_SETUP
-#line 198 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 198 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return GLOBAL; }
 	YY_BREAK
 case 9:
 YY_RULE_SETUP
-#line 199 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 199 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return CONSTANT; }
 	YY_BREAK
 case 10:
 YY_RULE_SETUP
-#line 200 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 200 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return INTERNAL; }
 	YY_BREAK
 case 11:
 YY_RULE_SETUP
-#line 201 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 201 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return LINKONCE; }
 	YY_BREAK
 case 12:
 YY_RULE_SETUP
-#line 202 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 202 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return WEAK; }
 	YY_BREAK
 case 13:
 YY_RULE_SETUP
-#line 203 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 203 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return APPENDING; }
 	YY_BREAK
 case 14:
 YY_RULE_SETUP
-#line 204 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 204 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return DLLIMPORT; }
 	YY_BREAK
 case 15:
 YY_RULE_SETUP
-#line 205 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 205 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return DLLEXPORT; }
 	YY_BREAK
 case 16:
 YY_RULE_SETUP
-#line 206 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 206 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return HIDDEN; }
 	YY_BREAK
 case 17:
 YY_RULE_SETUP
-#line 207 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 207 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return EXTERN_WEAK; }
 	YY_BREAK
 case 18:
 YY_RULE_SETUP
-#line 208 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 208 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return EXTERNAL; }
 	YY_BREAK
 case 19:
 YY_RULE_SETUP
-#line 209 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 209 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return IMPLEMENTATION; }
 	YY_BREAK
 case 20:
 YY_RULE_SETUP
-#line 210 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 210 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return ZEROINITIALIZER; }
 	YY_BREAK
 case 21:
 YY_RULE_SETUP
-#line 211 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 211 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return DOTDOTDOT; }
 	YY_BREAK
 case 22:
 YY_RULE_SETUP
-#line 212 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 212 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return UNDEF; }
 	YY_BREAK
 case 23:
 YY_RULE_SETUP
-#line 213 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 213 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return NULL_TOK; }
 	YY_BREAK
 case 24:
 YY_RULE_SETUP
-#line 214 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 214 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return TO; }
 	YY_BREAK
 case 25:
 YY_RULE_SETUP
-#line 215 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 215 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return TAIL; }
 	YY_BREAK
 case 26:
 YY_RULE_SETUP
-#line 216 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 216 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return TARGET; }
 	YY_BREAK
 case 27:
 YY_RULE_SETUP
-#line 217 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 217 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return TRIPLE; }
 	YY_BREAK
 case 28:
 YY_RULE_SETUP
-#line 218 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 218 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return DEPLIBS; }
 	YY_BREAK
 case 29:
 YY_RULE_SETUP
-#line 219 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 219 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return ENDIAN; }
 	YY_BREAK
 case 30:
 YY_RULE_SETUP
-#line 220 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 220 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return POINTERSIZE; }
 	YY_BREAK
 case 31:
 YY_RULE_SETUP
-#line 221 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 221 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return DATALAYOUT; }
 	YY_BREAK
 case 32:
 YY_RULE_SETUP
-#line 222 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 222 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return LITTLE; }
 	YY_BREAK
 case 33:
 YY_RULE_SETUP
-#line 223 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 223 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return BIG; }
 	YY_BREAK
 case 34:
 YY_RULE_SETUP
-#line 224 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 224 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return VOLATILE; }
 	YY_BREAK
 case 35:
 YY_RULE_SETUP
-#line 225 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 225 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return ALIGN;  }
 	YY_BREAK
 case 36:
 YY_RULE_SETUP
-#line 226 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 226 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return SECTION; }
 	YY_BREAK
 case 37:
 YY_RULE_SETUP
-#line 227 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 227 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return MODULE; }
 	YY_BREAK
 case 38:
 YY_RULE_SETUP
-#line 228 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 228 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return ASM_TOK; }
 	YY_BREAK
 case 39:
 YY_RULE_SETUP
-#line 229 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 229 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return SIDEEFFECT; }
 	YY_BREAK
 case 40:
 YY_RULE_SETUP
-#line 231 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 231 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return CC_TOK; }
 	YY_BREAK
 case 41:
 YY_RULE_SETUP
-#line 232 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 232 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return CCC_TOK; }
 	YY_BREAK
 case 42:
 YY_RULE_SETUP
-#line 233 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 233 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return CSRETCC_TOK; }
 	YY_BREAK
 case 43:
 YY_RULE_SETUP
-#line 234 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 234 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return FASTCC_TOK; }
 	YY_BREAK
 case 44:
 YY_RULE_SETUP
-#line 235 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 235 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return COLDCC_TOK; }
 	YY_BREAK
 case 45:
 YY_RULE_SETUP
-#line 236 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 236 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return X86_STDCALLCC_TOK; }
 	YY_BREAK
 case 46:
 YY_RULE_SETUP
-#line 237 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 237 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return X86_FASTCALLCC_TOK; }
 	YY_BREAK
 case 47:
 YY_RULE_SETUP
-#line 239 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 239 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { RET_TY(Type::VoidTy,  VOID);  }
 	YY_BREAK
 case 48:
 YY_RULE_SETUP
-#line 240 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TY(Type::Int1Ty,  BOOL);  }
-	YY_BREAK
-case 49:
-YY_RULE_SETUP
-#line 241 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 240 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { RET_TY(Type::FloatTy, FLOAT); }
 	YY_BREAK
-case 50:
+case 49:
 YY_RULE_SETUP
-#line 242 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 241 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { RET_TY(Type::DoubleTy,DOUBLE);}
 	YY_BREAK
-case 51:
+case 50:
 YY_RULE_SETUP
-#line 243 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 242 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { RET_TY(Type::LabelTy, LABEL); }
 	YY_BREAK
-case 52:
+case 51:
 YY_RULE_SETUP
-#line 244 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 243 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return TYPE;   }
 	YY_BREAK
-case 53:
+case 52:
 YY_RULE_SETUP
-#line 245 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 244 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return OPAQUE; }
 	YY_BREAK
-case 54:
+case 53:
 YY_RULE_SETUP
-#line 246 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ uint64_t NumBits = atoull(llvmAsmtext+1);
+#line 245 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ uint64_t NumBits = atoull(yytext+1);
                   if (NumBits < IntegerType::MIN_INT_BITS || 
                       NumBits > IntegerType::MAX_INT_BITS)
                     GenerateError("Bitwidth for integer type out of range!");
@@ -1601,400 +1543,398 @@
                   RET_TY(Ty, INTTYPE);
                 }
 	YY_BREAK
-case 55:
+case 54:
 YY_RULE_SETUP
-#line 254 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 253 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { RET_TOK(BinaryOpVal, Add, ADD); }
 	YY_BREAK
-case 56:
+case 55:
 YY_RULE_SETUP
-#line 255 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 254 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { RET_TOK(BinaryOpVal, Sub, SUB); }
 	YY_BREAK
-case 57:
+case 56:
 YY_RULE_SETUP
-#line 256 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 255 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { RET_TOK(BinaryOpVal, Mul, MUL); }
 	YY_BREAK
-case 58:
+case 57:
 YY_RULE_SETUP
-#line 257 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 256 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { RET_TOK(BinaryOpVal, UDiv, UDIV); }
 	YY_BREAK
-case 59:
+case 58:
 YY_RULE_SETUP
-#line 258 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 257 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { RET_TOK(BinaryOpVal, SDiv, SDIV); }
 	YY_BREAK
-case 60:
+case 59:
 YY_RULE_SETUP
-#line 259 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 258 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { RET_TOK(BinaryOpVal, FDiv, FDIV); }
 	YY_BREAK
-case 61:
+case 60:
 YY_RULE_SETUP
-#line 260 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 259 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { RET_TOK(BinaryOpVal, URem, UREM); }
 	YY_BREAK
-case 62:
+case 61:
 YY_RULE_SETUP
-#line 261 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 260 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { RET_TOK(BinaryOpVal, SRem, SREM); }
 	YY_BREAK
-case 63:
+case 62:
 YY_RULE_SETUP
-#line 262 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 261 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { RET_TOK(BinaryOpVal, FRem, FREM); }
 	YY_BREAK
-case 64:
+case 63:
 YY_RULE_SETUP
-#line 263 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 262 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { RET_TOK(BinaryOpVal, And, AND); }
 	YY_BREAK
-case 65:
+case 64:
 YY_RULE_SETUP
-#line 264 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 263 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { RET_TOK(BinaryOpVal, Or , OR ); }
 	YY_BREAK
-case 66:
+case 65:
 YY_RULE_SETUP
-#line 265 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 264 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { RET_TOK(BinaryOpVal, Xor, XOR); }
 	YY_BREAK
-case 67:
+case 66:
 YY_RULE_SETUP
-#line 266 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 265 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { RET_TOK(OtherOpVal,  ICmp,  ICMP); }
 	YY_BREAK
-case 68:
+case 67:
 YY_RULE_SETUP
-#line 267 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 266 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { RET_TOK(OtherOpVal,  FCmp,  FCMP); }
 	YY_BREAK
-case 69:
+case 68:
 YY_RULE_SETUP
-#line 268 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 267 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return EQ;  }
 	YY_BREAK
-case 70:
+case 69:
 YY_RULE_SETUP
-#line 269 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 268 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return NE;  }
 	YY_BREAK
-case 71:
+case 70:
 YY_RULE_SETUP
-#line 270 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 269 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return SLT; }
 	YY_BREAK
-case 72:
+case 71:
 YY_RULE_SETUP
-#line 271 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 270 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return SGT; }
 	YY_BREAK
-case 73:
+case 72:
 YY_RULE_SETUP
-#line 272 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 271 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return SLE; }
 	YY_BREAK
-case 74:
+case 73:
 YY_RULE_SETUP
-#line 273 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 272 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return SGE; }
 	YY_BREAK
-case 75:
+case 74:
 YY_RULE_SETUP
-#line 274 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 273 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return ULT; }
 	YY_BREAK
-case 76:
+case 75:
 YY_RULE_SETUP
-#line 275 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 274 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return UGT; }
 	YY_BREAK
-case 77:
+case 76:
 YY_RULE_SETUP
-#line 276 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 275 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return ULE; }
 	YY_BREAK
-case 78:
+case 77:
 YY_RULE_SETUP
-#line 277 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 276 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return UGE; }
 	YY_BREAK
-case 79:
+case 78:
 YY_RULE_SETUP
-#line 278 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 277 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return OEQ; }
 	YY_BREAK
-case 80:
+case 79:
 YY_RULE_SETUP
-#line 279 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 278 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return ONE; }
 	YY_BREAK
-case 81:
+case 80:
 YY_RULE_SETUP
-#line 280 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 279 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return OLT; }
 	YY_BREAK
-case 82:
+case 81:
 YY_RULE_SETUP
-#line 281 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 280 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return OGT; }
 	YY_BREAK
-case 83:
+case 82:
 YY_RULE_SETUP
-#line 282 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 281 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return OLE; }
 	YY_BREAK
-case 84:
+case 83:
 YY_RULE_SETUP
-#line 283 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 282 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return OGE; }
 	YY_BREAK
-case 85:
+case 84:
 YY_RULE_SETUP
-#line 284 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 283 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return ORD; }
 	YY_BREAK
-case 86:
+case 85:
 YY_RULE_SETUP
-#line 285 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 284 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return UNO; }
 	YY_BREAK
-case 87:
+case 86:
 YY_RULE_SETUP
-#line 286 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 285 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return UEQ; }
 	YY_BREAK
-case 88:
+case 87:
 YY_RULE_SETUP
-#line 287 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 286 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return UNE; }
 	YY_BREAK
-case 89:
+case 88:
 YY_RULE_SETUP
-#line 289 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 288 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { RET_TOK(OtherOpVal, PHI, PHI_TOK); }
 	YY_BREAK
-case 90:
+case 89:
 YY_RULE_SETUP
-#line 290 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 289 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { RET_TOK(OtherOpVal, Call, CALL); }
 	YY_BREAK
-case 91:
+case 90:
 YY_RULE_SETUP
-#line 291 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 290 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { RET_TOK(CastOpVal, Trunc, TRUNC); }
 	YY_BREAK
-case 92:
+case 91:
 YY_RULE_SETUP
-#line 292 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 291 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { RET_TOK(CastOpVal, ZExt, ZEXT); }
 	YY_BREAK
-case 93:
+case 92:
 YY_RULE_SETUP
-#line 293 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 292 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { RET_TOK(CastOpVal, SExt, SEXT); }
 	YY_BREAK
-case 94:
+case 93:
 YY_RULE_SETUP
-#line 294 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 293 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { RET_TOK(CastOpVal, FPTrunc, FPTRUNC); }
 	YY_BREAK
-case 95:
+case 94:
 YY_RULE_SETUP
-#line 295 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 294 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { RET_TOK(CastOpVal, FPExt, FPEXT); }
 	YY_BREAK
-case 96:
+case 95:
 YY_RULE_SETUP
-#line 296 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 295 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { RET_TOK(CastOpVal, UIToFP, UITOFP); }
 	YY_BREAK
-case 97:
+case 96:
 YY_RULE_SETUP
-#line 297 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 296 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { RET_TOK(CastOpVal, SIToFP, SITOFP); }
 	YY_BREAK
-case 98:
+case 97:
 YY_RULE_SETUP
-#line 298 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 297 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { RET_TOK(CastOpVal, FPToUI, FPTOUI); }
 	YY_BREAK
-case 99:
+case 98:
 YY_RULE_SETUP
-#line 299 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 298 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { RET_TOK(CastOpVal, FPToSI, FPTOSI); }
 	YY_BREAK
-case 100:
+case 99:
 YY_RULE_SETUP
-#line 300 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 299 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { RET_TOK(CastOpVal, IntToPtr, INTTOPTR); }
 	YY_BREAK
-case 101:
+case 100:
 YY_RULE_SETUP
-#line 301 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 300 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { RET_TOK(CastOpVal, PtrToInt, PTRTOINT); }
 	YY_BREAK
-case 102:
+case 101:
 YY_RULE_SETUP
-#line 302 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 301 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { RET_TOK(CastOpVal, BitCast, BITCAST); }
 	YY_BREAK
-case 103:
+case 102:
 YY_RULE_SETUP
-#line 303 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 302 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { RET_TOK(OtherOpVal, Select, SELECT); }
 	YY_BREAK
-case 104:
+case 103:
 YY_RULE_SETUP
-#line 304 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 303 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { RET_TOK(OtherOpVal, Shl, SHL); }
 	YY_BREAK
-case 105:
+case 104:
 YY_RULE_SETUP
-#line 305 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 304 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { RET_TOK(OtherOpVal, LShr, LSHR); }
 	YY_BREAK
-case 106:
+case 105:
 YY_RULE_SETUP
-#line 306 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 305 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { RET_TOK(OtherOpVal, AShr, ASHR); }
 	YY_BREAK
-case 107:
+case 106:
 YY_RULE_SETUP
-#line 307 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 306 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { RET_TOK(OtherOpVal, VAArg , VAARG); }
 	YY_BREAK
-case 108:
+case 107:
 YY_RULE_SETUP
-#line 308 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 307 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { RET_TOK(TermOpVal, Ret, RET); }
 	YY_BREAK
-case 109:
+case 108:
 YY_RULE_SETUP
-#line 309 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 308 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { RET_TOK(TermOpVal, Br, BR); }
 	YY_BREAK
-case 110:
+case 109:
 YY_RULE_SETUP
-#line 310 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 309 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { RET_TOK(TermOpVal, Switch, SWITCH); }
 	YY_BREAK
-case 111:
+case 110:
 YY_RULE_SETUP
-#line 311 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 310 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { RET_TOK(TermOpVal, Invoke, INVOKE); }
 	YY_BREAK
-case 112:
+case 111:
 YY_RULE_SETUP
-#line 312 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 311 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { RET_TOK(TermOpVal, Unwind, UNWIND); }
 	YY_BREAK
-case 113:
+case 112:
 YY_RULE_SETUP
-#line 313 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 312 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { RET_TOK(TermOpVal, Unreachable, UNREACHABLE); }
 	YY_BREAK
-case 114:
+case 113:
 YY_RULE_SETUP
-#line 315 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 314 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { RET_TOK(MemOpVal, Malloc, MALLOC); }
 	YY_BREAK
-case 115:
+case 114:
 YY_RULE_SETUP
-#line 316 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 315 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { RET_TOK(MemOpVal, Alloca, ALLOCA); }
 	YY_BREAK
-case 116:
+case 115:
 YY_RULE_SETUP
-#line 317 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 316 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { RET_TOK(MemOpVal, Free, FREE); }
 	YY_BREAK
-case 117:
+case 116:
 YY_RULE_SETUP
-#line 318 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 317 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { RET_TOK(MemOpVal, Load, LOAD); }
 	YY_BREAK
-case 118:
+case 117:
 YY_RULE_SETUP
-#line 319 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 318 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { RET_TOK(MemOpVal, Store, STORE); }
 	YY_BREAK
-case 119:
+case 118:
 YY_RULE_SETUP
-#line 320 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 319 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { RET_TOK(MemOpVal, GetElementPtr, GETELEMENTPTR); }
 	YY_BREAK
-case 120:
+case 119:
 YY_RULE_SETUP
-#line 322 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 321 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { RET_TOK(OtherOpVal, ExtractElement, EXTRACTELEMENT); }
 	YY_BREAK
-case 121:
+case 120:
 YY_RULE_SETUP
-#line 323 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 322 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { RET_TOK(OtherOpVal, InsertElement, INSERTELEMENT); }
 	YY_BREAK
-case 122:
+case 121:
 YY_RULE_SETUP
-#line 324 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 323 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { RET_TOK(OtherOpVal, ShuffleVector, SHUFFLEVECTOR); }
 	YY_BREAK
-case 123:
+case 122:
 YY_RULE_SETUP
-#line 327 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 326 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 {
-                  UnEscapeLexed(llvmAsmtext+1);
-                  llvmAsmlval.StrVal = strdup(llvmAsmtext+1);             // Skip %
+                  UnEscapeLexed(yytext+1);
+                  llvmAsmlval.StrVal = strdup(yytext+1);             // Skip %
                   return VAR_ID;
                 }
 	YY_BREAK
-case 124:
+case 123:
 YY_RULE_SETUP
-#line 332 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 331 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 {
-                  llvmAsmtext[strlen(llvmAsmtext)-1] = 0;  // nuke colon
-                  UnEscapeLexed(llvmAsmtext);
-                  llvmAsmlval.StrVal = strdup(llvmAsmtext);
+                  yytext[strlen(yytext)-1] = 0;  // nuke colon
+                  UnEscapeLexed(yytext);
+                  llvmAsmlval.StrVal = strdup(yytext);
                   return LABELSTR;
                 }
 	YY_BREAK
-case 125:
-/* rule 125 can match eol */
+case 124:
 YY_RULE_SETUP
-#line 338 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 337 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 {
-                  llvmAsmtext[strlen(llvmAsmtext)-2] = 0;  // nuke colon, end quote
-                  UnEscapeLexed(llvmAsmtext+1);
-                  llvmAsmlval.StrVal = strdup(llvmAsmtext+1);
+                  yytext[strlen(yytext)-2] = 0;  // nuke colon, end quote
+                  UnEscapeLexed(yytext+1);
+                  llvmAsmlval.StrVal = strdup(yytext+1);
                   return LABELSTR;
                 }
 	YY_BREAK
-case 126:
-/* rule 126 can match eol */
+case 125:
 YY_RULE_SETUP
-#line 345 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 344 "/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.
                    //
-                   llvmAsmtext[strlen(llvmAsmtext)-1] = 0;           // nuke end quote
-                   llvmAsmlval.StrVal = strdup(llvmAsmtext+1);  // Nuke start quote
+                   yytext[strlen(yytext)-1] = 0;           // nuke end quote
+                   llvmAsmlval.StrVal = strdup(yytext+1);  // Nuke start quote
                    return STRINGCONSTANT;
                  }
 	YY_BREAK
-case 127:
+case 126:
 YY_RULE_SETUP
-#line 356 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ llvmAsmlval.UInt64Val = atoull(llvmAsmtext); return EUINT64VAL; }
+#line 355 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ llvmAsmlval.UInt64Val = atoull(yytext); return EUINT64VAL; }
 	YY_BREAK
-case 128:
+case 127:
 YY_RULE_SETUP
-#line 357 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 356 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 {
-                  uint64_t Val = atoull(llvmAsmtext+1);
+                  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!");
@@ -2002,30 +1942,30 @@
                   return ESINT64VAL;
                 }
 	YY_BREAK
-case 129:
+case 128:
 YY_RULE_SETUP
-#line 365 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 364 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 {
-                   llvmAsmlval.UInt64Val = HexIntToVal(llvmAsmtext+3);
-                   return llvmAsmtext[0] == 's' ? ESINT64VAL : EUINT64VAL;
+                   llvmAsmlval.UInt64Val = HexIntToVal(yytext+3);
+                   return yytext[0] == 's' ? ESINT64VAL : EUINT64VAL;
                  }
 	YY_BREAK
-case 130:
+case 129:
 YY_RULE_SETUP
-#line 370 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 369 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 {
-                  uint64_t Val = atoull(llvmAsmtext+1);
+                  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 131:
+case 130:
 YY_RULE_SETUP
-#line 377 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 376 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 {
-                  uint64_t Val = atoull(llvmAsmtext+2);
+                  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!");
@@ -2033,67 +1973,66 @@
                   return SINTVAL;
                 }
 	YY_BREAK
-case 132:
+case 131:
 YY_RULE_SETUP
-#line 386 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ llvmAsmlval.FPVal = atof(llvmAsmtext); return FPVAL; }
+#line 385 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ llvmAsmlval.FPVal = atof(yytext); return FPVAL; }
 	YY_BREAK
-case 133:
+case 132:
 YY_RULE_SETUP
-#line 387 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ llvmAsmlval.FPVal = HexToFP(llvmAsmtext); return FPVAL; }
+#line 386 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ llvmAsmlval.FPVal = HexToFP(yytext); return FPVAL; }
 	YY_BREAK
 case YY_STATE_EOF(INITIAL):
-#line 389 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 388 "/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 134:
-/* rule 134 can match eol */
+case 133:
 YY_RULE_SETUP
-#line 397 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 396 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { /* Ignore whitespace */ }
 	YY_BREAK
-case 135:
+case 134:
 YY_RULE_SETUP
-#line 398 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ return llvmAsmtext[0]; }
+#line 397 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ return yytext[0]; }
 	YY_BREAK
-case 136:
+case 135:
 YY_RULE_SETUP
-#line 400 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 399 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 YY_FATAL_ERROR( "flex scanner jammed" );
 	YY_BREAK
-#line 2073 "Lexer.cpp"
+#line 2012 "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
@@ -2103,13 +2042,13 @@
 		 * 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
@@ -2122,42 +2061,41 @@
 
 			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;
@@ -2165,30 +2103,30 @@
 
 				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;
@@ -2199,7 +2137,8 @@
 			"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
  *
@@ -2208,20 +2147,21 @@
  *	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.
@@ -2241,30 +2181,34 @@
 	/* 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 )
 				{
@@ -2277,7 +2221,8 @@
 
 				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. */
@@ -2287,35 +2232,35 @@
 				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;
 			}
 		}
@@ -2323,141 +2268,149 @@
 	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 >= 557 )
+			if ( yy_current_state >= 554 )
 				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 >= 557 )
+		if ( yy_current_state >= 554 )
 			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 == 556);
+	yy_is_jam = (yy_current_state == 553);
+	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;
 
-	if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
+	/* undo effects of setting up yytext */
+	*yy_cp = yy_hold_char;
+
+	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()
@@ -2471,16 +2424,16 @@
 					 */
 
 					/* 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();
@@ -2490,170 +2443,169 @@
 					}
 
 				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;
@@ -2670,123 +2622,31 @@
 	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;
+	if ( b == yy_current_buffer )
+		yy_load_buffer_state();
 	}
-}
-
-/* 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 ((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;
@@ -2798,53 +2658,58 @@
 	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.
@@ -2852,199 +2717,148 @@
 	b->yy_is_our_buffer = 1;
 
 	return b;
-}
+	}
+#endif
 
-#ifndef YY_EXIT_FAILURE
-#define YY_EXIT_FAILURE 2
+
+#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;
 
-static void yy_fatal_error (yyconst char* msg )
-{
-    	(void) fprintf( stderr, "%s\n", msg );
-	exit( YY_EXIT_FAILURE );
-}
+		yy_start_stack_depth += YY_START_STACK_INCR;
+		new_size = yy_start_stack_depth * sizeof( int );
 
-/* Redefine yyless() so it works in section 3 code. */
+		if ( ! yy_start_stack )
+			yy_start_stack = (int *) yy_flex_alloc( new_size );
 
-#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 )
+		else
+			yy_start_stack = (int *) yy_flex_realloc(
+					(void *) yy_start_stack, new_size );
 
-/* Accessor  methods (get/set functions) to struct members. */
+		if ( ! yy_start_stack )
+			YY_FATAL_ERROR(
+			"out of memory expanding start-condition stack" );
+		}
 
-/** Get the current line number.
- * 
- */
-int llvmAsmget_lineno  (void)
-{
-        
-    return llvmAsmlineno;
-}
+	yy_start_stack[yy_start_stack_ptr++] = YY_START;
 
-/** Get the input stream.
- * 
- */
-FILE *llvmAsmget_in  (void)
-{
-        return llvmAsmin;
-}
+	BEGIN(new_state);
+	}
+#endif
 
-/** Get the output stream.
- * 
- */
-FILE *llvmAsmget_out  (void)
-{
-        return llvmAsmout;
-}
 
-/** Get the length of the current token.
- * 
- */
-int llvmAsmget_leng  (void)
-{
-        return llvmAsmleng;
-}
+#ifndef YY_NO_POP_STATE
+static void yy_pop_state()
+	{
+	if ( --yy_start_stack_ptr < 0 )
+		YY_FATAL_ERROR( "start-condition stack underflow" );
 
-/** Get the current token.
- * 
- */
+	BEGIN(yy_start_stack[yy_start_stack_ptr]);
+	}
+#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_TOP_STATE
+static int yy_top_state()
+	{
+	return yy_start_stack[yy_start_stack_ptr - 1];
+	}
+#endif
 
-/** 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 ;
-}
+#ifndef YY_EXIT_FAILURE
+#define YY_EXIT_FAILURE 2
+#endif
 
-void llvmAsmset_out (FILE *  out_str )
-{
-        llvmAsmout = out_str ;
-}
+#ifdef YY_USE_PROTOS
+static void yy_fatal_error( yyconst char msg[] )
+#else
+static void yy_fatal_error( msg )
+char msg[];
+#endif
+	{
+	(void) fprintf( stderr, "%s\n", msg );
+	exit( YY_EXIT_FAILURE );
+	}
 
-int llvmAsmget_debug  (void)
-{
-        return llvmAsm_flex_debug;
-}
 
-void llvmAsmset_debug (int  bdebug )
-{
-        llvmAsm_flex_debug = bdebug ;
-}
 
-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;
-#else
-    llvmAsmin = (FILE *) 0;
-    llvmAsmout = (FILE *) 0;
-#endif
-
-    /* For future reference: Set errno on error, since we are called by
-     * llvmAsmlex_init()
-     */
-    return 0;
-}
+/* Redefine yyless() so it works in section 3 code. */
 
-/* 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;
-
-    /* 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
@@ -3053,16 +2867,24 @@
 	 * 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 400 "/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 399 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 


Index: llvm/lib/AsmParser/Lexer.l.cvs
diff -u llvm/lib/AsmParser/Lexer.l.cvs:1.21 llvm/lib/AsmParser/Lexer.l.cvs:1.22
--- llvm/lib/AsmParser/Lexer.l.cvs:1.21	Fri Jan 12 13:20:46 2007
+++ llvm/lib/AsmParser/Lexer.l.cvs	Fri Jan 12 23:00:46 2007
@@ -237,7 +237,6 @@
 x86_fastcallcc  { return X86_FASTCALLCC_TOK; }
 
 void            { RET_TY(Type::VoidTy,  VOID);  }
-bool            { RET_TY(Type::Int1Ty,  BOOL);  }
 float           { RET_TY(Type::FloatTy, FLOAT); }
 double          { RET_TY(Type::DoubleTy,DOUBLE);}
 label           { RET_TY(Type::LabelTy, LABEL); }


Index: llvm/lib/AsmParser/llvmAsmParser.cpp.cvs
diff -u llvm/lib/AsmParser/llvmAsmParser.cpp.cvs:1.52 llvm/lib/AsmParser/llvmAsmParser.cpp.cvs:1.53
--- llvm/lib/AsmParser/llvmAsmParser.cpp.cvs:1.52	Fri Jan 12 13:22:51 2007
+++ llvm/lib/AsmParser/llvmAsmParser.cpp.cvs	Fri Jan 12 23:00:46 2007
@@ -1,9 +1,7 @@
-/* A Bison parser, made by GNU Bison 2.3.  */
+/* A Bison parser, made by GNU Bison 2.1.  */
 
-/* Skeleton implementation for Bison's Yacc-like parsers in C
-
-   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
-   Free Software Foundation, Inc.
+/* Skeleton parser for Yacc-like parsing with Bison,
+   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -20,21 +18,13 @@
    Foundation, Inc., 51 Franklin Street, Fifth Floor,
    Boston, MA 02110-1301, USA.  */
 
-/* As a special exception, you may create a larger work that contains
-   part or all of the Bison parser skeleton and distribute that work
-   under terms of your choice, so long as that work isn't itself a
-   parser generator using the skeleton or a modified version thereof
-   as a parser skeleton.  Alternatively, if you modify or redistribute
-   the parser skeleton itself, you may (at your option) remove this
-   special exception, which will cause the skeleton and the resulting
-   Bison output files to be licensed under the GNU General Public
-   License without this special exception.
-
-   This special exception was added by the Free Software Foundation in
-   version 2.2 of Bison.  */
+/* As a special exception, when this file is copied by Bison into a
+   Bison output file, you may use that output file without restriction.
+   This special exception was added by the Free Software Foundation
+   in version 1.24 of Bison.  */
 
-/* C LALR(1) parser skeleton written by Richard Stallman, by
-   simplifying the original so-called "semantic" parser.  */
+/* Written by Richard Stallman by simplifying the original so called
+   ``semantic'' parser.  */
 
 /* All symbols defined below should begin with yy or YY, to avoid
    infringing on user name space.  This should be done even for local
@@ -47,7 +37,7 @@
 #define YYBISON 1
 
 /* Bison version.  */
-#define YYBISON_VERSION "2.3"
+#define YYBISON_VERSION "2.1"
 
 /* Skeleton name.  */
 #define YYSKELETON_NAME "yacc.c"
@@ -80,131 +70,130 @@
      UINTVAL = 261,
      FPVAL = 262,
      VOID = 263,
-     BOOL = 264,
-     INTTYPE = 265,
-     FLOAT = 266,
-     DOUBLE = 267,
-     LABEL = 268,
-     TYPE = 269,
-     VAR_ID = 270,
-     LABELSTR = 271,
-     STRINGCONSTANT = 272,
-     IMPLEMENTATION = 273,
-     ZEROINITIALIZER = 274,
-     TRUETOK = 275,
-     FALSETOK = 276,
-     BEGINTOK = 277,
-     ENDTOK = 278,
-     DECLARE = 279,
-     DEFINE = 280,
-     GLOBAL = 281,
-     CONSTANT = 282,
-     SECTION = 283,
-     VOLATILE = 284,
-     TO = 285,
-     DOTDOTDOT = 286,
-     NULL_TOK = 287,
-     UNDEF = 288,
-     INTERNAL = 289,
-     LINKONCE = 290,
-     WEAK = 291,
-     APPENDING = 292,
-     DLLIMPORT = 293,
-     DLLEXPORT = 294,
-     EXTERN_WEAK = 295,
-     OPAQUE = 296,
-     EXTERNAL = 297,
-     TARGET = 298,
-     TRIPLE = 299,
-     ENDIAN = 300,
-     POINTERSIZE = 301,
-     LITTLE = 302,
-     BIG = 303,
-     ALIGN = 304,
-     DEPLIBS = 305,
-     CALL = 306,
-     TAIL = 307,
-     ASM_TOK = 308,
-     MODULE = 309,
-     SIDEEFFECT = 310,
-     CC_TOK = 311,
-     CCC_TOK = 312,
-     CSRETCC_TOK = 313,
-     FASTCC_TOK = 314,
-     COLDCC_TOK = 315,
-     X86_STDCALLCC_TOK = 316,
-     X86_FASTCALLCC_TOK = 317,
-     DATALAYOUT = 318,
-     RET = 319,
-     BR = 320,
-     SWITCH = 321,
-     INVOKE = 322,
-     UNWIND = 323,
-     UNREACHABLE = 324,
-     ADD = 325,
-     SUB = 326,
-     MUL = 327,
-     UDIV = 328,
-     SDIV = 329,
-     FDIV = 330,
-     UREM = 331,
-     SREM = 332,
-     FREM = 333,
-     AND = 334,
-     OR = 335,
-     XOR = 336,
-     ICMP = 337,
-     FCMP = 338,
-     EQ = 339,
-     NE = 340,
-     SLT = 341,
-     SGT = 342,
-     SLE = 343,
-     SGE = 344,
-     ULT = 345,
-     UGT = 346,
-     ULE = 347,
-     UGE = 348,
-     OEQ = 349,
-     ONE = 350,
-     OLT = 351,
-     OGT = 352,
-     OLE = 353,
-     OGE = 354,
-     ORD = 355,
-     UNO = 356,
-     UEQ = 357,
-     UNE = 358,
-     MALLOC = 359,
-     ALLOCA = 360,
-     FREE = 361,
-     LOAD = 362,
-     STORE = 363,
-     GETELEMENTPTR = 364,
-     TRUNC = 365,
-     ZEXT = 366,
-     SEXT = 367,
-     FPTRUNC = 368,
-     FPEXT = 369,
-     BITCAST = 370,
-     UITOFP = 371,
-     SITOFP = 372,
-     FPTOUI = 373,
-     FPTOSI = 374,
-     INTTOPTR = 375,
-     PTRTOINT = 376,
-     PHI_TOK = 377,
-     SELECT = 378,
-     SHL = 379,
-     LSHR = 380,
-     ASHR = 381,
-     VAARG = 382,
-     EXTRACTELEMENT = 383,
-     INSERTELEMENT = 384,
-     SHUFFLEVECTOR = 385,
-     NORETURN = 386,
-     DEFAULT = 387,
-     HIDDEN = 388
+     INTTYPE = 264,
+     FLOAT = 265,
+     DOUBLE = 266,
+     LABEL = 267,
+     TYPE = 268,
+     VAR_ID = 269,
+     LABELSTR = 270,
+     STRINGCONSTANT = 271,
+     IMPLEMENTATION = 272,
+     ZEROINITIALIZER = 273,
+     TRUETOK = 274,
+     FALSETOK = 275,
+     BEGINTOK = 276,
+     ENDTOK = 277,
+     DECLARE = 278,
+     DEFINE = 279,
+     GLOBAL = 280,
+     CONSTANT = 281,
+     SECTION = 282,
+     VOLATILE = 283,
+     TO = 284,
+     DOTDOTDOT = 285,
+     NULL_TOK = 286,
+     UNDEF = 287,
+     INTERNAL = 288,
+     LINKONCE = 289,
+     WEAK = 290,
+     APPENDING = 291,
+     DLLIMPORT = 292,
+     DLLEXPORT = 293,
+     EXTERN_WEAK = 294,
+     OPAQUE = 295,
+     EXTERNAL = 296,
+     TARGET = 297,
+     TRIPLE = 298,
+     ENDIAN = 299,
+     POINTERSIZE = 300,
+     LITTLE = 301,
+     BIG = 302,
+     ALIGN = 303,
+     DEPLIBS = 304,
+     CALL = 305,
+     TAIL = 306,
+     ASM_TOK = 307,
+     MODULE = 308,
+     SIDEEFFECT = 309,
+     CC_TOK = 310,
+     CCC_TOK = 311,
+     CSRETCC_TOK = 312,
+     FASTCC_TOK = 313,
+     COLDCC_TOK = 314,
+     X86_STDCALLCC_TOK = 315,
+     X86_FASTCALLCC_TOK = 316,
+     DATALAYOUT = 317,
+     RET = 318,
+     BR = 319,
+     SWITCH = 320,
+     INVOKE = 321,
+     UNWIND = 322,
+     UNREACHABLE = 323,
+     ADD = 324,
+     SUB = 325,
+     MUL = 326,
+     UDIV = 327,
+     SDIV = 328,
+     FDIV = 329,
+     UREM = 330,
+     SREM = 331,
+     FREM = 332,
+     AND = 333,
+     OR = 334,
+     XOR = 335,
+     ICMP = 336,
+     FCMP = 337,
+     EQ = 338,
+     NE = 339,
+     SLT = 340,
+     SGT = 341,
+     SLE = 342,
+     SGE = 343,
+     ULT = 344,
+     UGT = 345,
+     ULE = 346,
+     UGE = 347,
+     OEQ = 348,
+     ONE = 349,
+     OLT = 350,
+     OGT = 351,
+     OLE = 352,
+     OGE = 353,
+     ORD = 354,
+     UNO = 355,
+     UEQ = 356,
+     UNE = 357,
+     MALLOC = 358,
+     ALLOCA = 359,
+     FREE = 360,
+     LOAD = 361,
+     STORE = 362,
+     GETELEMENTPTR = 363,
+     TRUNC = 364,
+     ZEXT = 365,
+     SEXT = 366,
+     FPTRUNC = 367,
+     FPEXT = 368,
+     BITCAST = 369,
+     UITOFP = 370,
+     SITOFP = 371,
+     FPTOUI = 372,
+     FPTOSI = 373,
+     INTTOPTR = 374,
+     PTRTOINT = 375,
+     PHI_TOK = 376,
+     SELECT = 377,
+     SHL = 378,
+     LSHR = 379,
+     ASHR = 380,
+     VAARG = 381,
+     EXTRACTELEMENT = 382,
+     INSERTELEMENT = 383,
+     SHUFFLEVECTOR = 384,
+     NORETURN = 385,
+     DEFAULT = 386,
+     HIDDEN = 387
    };
 #endif
 /* Tokens.  */
@@ -214,137 +203,136 @@
 #define UINTVAL 261
 #define FPVAL 262
 #define VOID 263
-#define BOOL 264
-#define INTTYPE 265
-#define FLOAT 266
-#define DOUBLE 267
-#define LABEL 268
-#define TYPE 269
-#define VAR_ID 270
-#define LABELSTR 271
-#define STRINGCONSTANT 272
-#define IMPLEMENTATION 273
-#define ZEROINITIALIZER 274
-#define TRUETOK 275
-#define FALSETOK 276
-#define BEGINTOK 277
-#define ENDTOK 278
-#define DECLARE 279
-#define DEFINE 280
-#define GLOBAL 281
-#define CONSTANT 282
-#define SECTION 283
-#define VOLATILE 284
-#define TO 285
-#define DOTDOTDOT 286
-#define NULL_TOK 287
-#define UNDEF 288
-#define INTERNAL 289
-#define LINKONCE 290
-#define WEAK 291
-#define APPENDING 292
-#define DLLIMPORT 293
-#define DLLEXPORT 294
-#define EXTERN_WEAK 295
-#define OPAQUE 296
-#define EXTERNAL 297
-#define TARGET 298
-#define TRIPLE 299
-#define ENDIAN 300
-#define POINTERSIZE 301
-#define LITTLE 302
-#define BIG 303
-#define ALIGN 304
-#define DEPLIBS 305
-#define CALL 306
-#define TAIL 307
-#define ASM_TOK 308
-#define MODULE 309
-#define SIDEEFFECT 310
-#define CC_TOK 311
-#define CCC_TOK 312
-#define CSRETCC_TOK 313
-#define FASTCC_TOK 314
-#define COLDCC_TOK 315
-#define X86_STDCALLCC_TOK 316
-#define X86_FASTCALLCC_TOK 317
-#define DATALAYOUT 318
-#define RET 319
-#define BR 320
-#define SWITCH 321
-#define INVOKE 322
-#define UNWIND 323
-#define UNREACHABLE 324
-#define ADD 325
-#define SUB 326
-#define MUL 327
-#define UDIV 328
-#define SDIV 329
-#define FDIV 330
-#define UREM 331
-#define SREM 332
-#define FREM 333
-#define AND 334
-#define OR 335
-#define XOR 336
-#define ICMP 337
-#define FCMP 338
-#define EQ 339
-#define NE 340
-#define SLT 341
-#define SGT 342
-#define SLE 343
-#define SGE 344
-#define ULT 345
-#define UGT 346
-#define ULE 347
-#define UGE 348
-#define OEQ 349
-#define ONE 350
-#define OLT 351
-#define OGT 352
-#define OLE 353
-#define OGE 354
-#define ORD 355
-#define UNO 356
-#define UEQ 357
-#define UNE 358
-#define MALLOC 359
-#define ALLOCA 360
-#define FREE 361
-#define LOAD 362
-#define STORE 363
-#define GETELEMENTPTR 364
-#define TRUNC 365
-#define ZEXT 366
-#define SEXT 367
-#define FPTRUNC 368
-#define FPEXT 369
-#define BITCAST 370
-#define UITOFP 371
-#define SITOFP 372
-#define FPTOUI 373
-#define FPTOSI 374
-#define INTTOPTR 375
-#define PTRTOINT 376
-#define PHI_TOK 377
-#define SELECT 378
-#define SHL 379
-#define LSHR 380
-#define ASHR 381
-#define VAARG 382
-#define EXTRACTELEMENT 383
-#define INSERTELEMENT 384
-#define SHUFFLEVECTOR 385
-#define NORETURN 386
-#define DEFAULT 387
-#define HIDDEN 388
+#define INTTYPE 264
+#define FLOAT 265
+#define DOUBLE 266
+#define LABEL 267
+#define TYPE 268
+#define VAR_ID 269
+#define LABELSTR 270
+#define STRINGCONSTANT 271
+#define IMPLEMENTATION 272
+#define ZEROINITIALIZER 273
+#define TRUETOK 274
+#define FALSETOK 275
+#define BEGINTOK 276
+#define ENDTOK 277
+#define DECLARE 278
+#define DEFINE 279
+#define GLOBAL 280
+#define CONSTANT 281
+#define SECTION 282
+#define VOLATILE 283
+#define TO 284
+#define DOTDOTDOT 285
+#define NULL_TOK 286
+#define UNDEF 287
+#define INTERNAL 288
+#define LINKONCE 289
+#define WEAK 290
+#define APPENDING 291
+#define DLLIMPORT 292
+#define DLLEXPORT 293
+#define EXTERN_WEAK 294
+#define OPAQUE 295
+#define EXTERNAL 296
+#define TARGET 297
+#define TRIPLE 298
+#define ENDIAN 299
+#define POINTERSIZE 300
+#define LITTLE 301
+#define BIG 302
+#define ALIGN 303
+#define DEPLIBS 304
+#define CALL 305
+#define TAIL 306
+#define ASM_TOK 307
+#define MODULE 308
+#define SIDEEFFECT 309
+#define CC_TOK 310
+#define CCC_TOK 311
+#define CSRETCC_TOK 312
+#define FASTCC_TOK 313
+#define COLDCC_TOK 314
+#define X86_STDCALLCC_TOK 315
+#define X86_FASTCALLCC_TOK 316
+#define DATALAYOUT 317
+#define RET 318
+#define BR 319
+#define SWITCH 320
+#define INVOKE 321
+#define UNWIND 322
+#define UNREACHABLE 323
+#define ADD 324
+#define SUB 325
+#define MUL 326
+#define UDIV 327
+#define SDIV 328
+#define FDIV 329
+#define UREM 330
+#define SREM 331
+#define FREM 332
+#define AND 333
+#define OR 334
+#define XOR 335
+#define ICMP 336
+#define FCMP 337
+#define EQ 338
+#define NE 339
+#define SLT 340
+#define SGT 341
+#define SLE 342
+#define SGE 343
+#define ULT 344
+#define UGT 345
+#define ULE 346
+#define UGE 347
+#define OEQ 348
+#define ONE 349
+#define OLT 350
+#define OGT 351
+#define OLE 352
+#define OGE 353
+#define ORD 354
+#define UNO 355
+#define UEQ 356
+#define UNE 357
+#define MALLOC 358
+#define ALLOCA 359
+#define FREE 360
+#define LOAD 361
+#define STORE 362
+#define GETELEMENTPTR 363
+#define TRUNC 364
+#define ZEXT 365
+#define SEXT 366
+#define FPTRUNC 367
+#define FPEXT 368
+#define BITCAST 369
+#define UITOFP 370
+#define SITOFP 371
+#define FPTOUI 372
+#define FPTOSI 373
+#define INTTOPTR 374
+#define PTRTOINT 375
+#define PHI_TOK 376
+#define SELECT 377
+#define SHL 378
+#define LSHR 379
+#define ASHR 380
+#define VAARG 381
+#define EXTRACTELEMENT 382
+#define INSERTELEMENT 383
+#define SHUFFLEVECTOR 384
+#define NORETURN 385
+#define DEFAULT 386
+#define HIDDEN 387
 
 
 
 
 /* Copy the first part of user declarations.  */
-#line 14 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 14 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
 
 #include "ParserInternals.h"
 #include "llvm/CallingConv.h"
@@ -1232,10 +1220,9 @@
 # define YYTOKEN_TABLE 0
 #endif
 
-#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
-typedef union YYSTYPE
-#line 883 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
-{
+#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
+#line 883 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+typedef union YYSTYPE {
   llvm::Module                           *ModuleVal;
   llvm::Function                         *FunctionVal;
   llvm::BasicBlock                       *BasicBlockVal;
@@ -1280,10 +1267,9 @@
   llvm::Module::Endianness          Endianness;
   llvm::ICmpInst::Predicate         IPredicate;
   llvm::FCmpInst::Predicate         FPredicate;
-}
-/* Line 187 of yacc.c.  */
-#line 1286 "llvmAsmParser.tab.c"
-	YYSTYPE;
+} YYSTYPE;
+/* Line 196 of yacc.c.  */
+#line 1273 "llvmAsmParser.tab.c"
 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
 # define YYSTYPE_IS_DECLARED 1
 # define YYSTYPE_IS_TRIVIAL 1
@@ -1294,56 +1280,23 @@
 /* Copy the second part of user declarations.  */
 
 
-/* Line 216 of yacc.c.  */
-#line 1299 "llvmAsmParser.tab.c"
-
-#ifdef short
-# undef short
-#endif
-
-#ifdef YYTYPE_UINT8
-typedef YYTYPE_UINT8 yytype_uint8;
-#else
-typedef unsigned char yytype_uint8;
-#endif
+/* Line 219 of yacc.c.  */
+#line 1285 "llvmAsmParser.tab.c"
 
-#ifdef YYTYPE_INT8
-typedef YYTYPE_INT8 yytype_int8;
-#elif (defined __STDC__ || defined __C99__FUNC__ \
-     || defined __cplusplus || defined _MSC_VER)
-typedef signed char yytype_int8;
-#else
-typedef short int yytype_int8;
+#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
+# define YYSIZE_T __SIZE_TYPE__
 #endif
-
-#ifdef YYTYPE_UINT16
-typedef YYTYPE_UINT16 yytype_uint16;
-#else
-typedef unsigned short int yytype_uint16;
+#if ! defined (YYSIZE_T) && defined (size_t)
+# define YYSIZE_T size_t
 #endif
-
-#ifdef YYTYPE_INT16
-typedef YYTYPE_INT16 yytype_int16;
-#else
-typedef short int yytype_int16;
+#if ! defined (YYSIZE_T) && (defined (__STDC__) || defined (__cplusplus))
+# include <stddef.h> /* INFRINGES ON USER NAME SPACE */
+# define YYSIZE_T size_t
 #endif
-
-#ifndef YYSIZE_T
-# ifdef __SIZE_TYPE__
-#  define YYSIZE_T __SIZE_TYPE__
-# elif defined size_t
-#  define YYSIZE_T size_t
-# elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
-     || defined __cplusplus || defined _MSC_VER)
-#  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
-#  define YYSIZE_T size_t
-# else
-#  define YYSIZE_T unsigned int
-# endif
+#if ! defined (YYSIZE_T)
+# define YYSIZE_T unsigned int
 #endif
 
-#define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
-
 #ifndef YY_
 # if YYENABLE_NLS
 #  if ENABLE_NLS
@@ -1356,32 +1309,7 @@
 # endif
 #endif
 
-/* Suppress unused-variable warnings by "using" E.  */
-#if ! defined lint || defined __GNUC__
-# define YYUSE(e) ((void) (e))
-#else
-# define YYUSE(e) /* empty */
-#endif
-
-/* Identity function, used to suppress warnings about constant conditions.  */
-#ifndef lint
-# define YYID(n) (n)
-#else
-#if (defined __STDC__ || defined __C99__FUNC__ \
-     || defined __cplusplus || defined _MSC_VER)
-static int
-YYID (int i)
-#else
-static int
-YYID (i)
-    int i;
-#endif
-{
-  return i;
-}
-#endif
-
-#if ! defined yyoverflow || YYERROR_VERBOSE
+#if ! defined (yyoverflow) || YYERROR_VERBOSE
 
 /* The parser invokes alloca or malloc; define the necessary symbols.  */
 
@@ -1389,76 +1317,64 @@
 #  if YYSTACK_USE_ALLOCA
 #   ifdef __GNUC__
 #    define YYSTACK_ALLOC __builtin_alloca
-#   elif defined __BUILTIN_VA_ARG_INCR
-#    include <alloca.h> /* INFRINGES ON USER NAME SPACE */
-#   elif defined _AIX
-#    define YYSTACK_ALLOC __alloca
-#   elif defined _MSC_VER
-#    include <malloc.h> /* INFRINGES ON USER NAME SPACE */
-#    define alloca _alloca
 #   else
 #    define YYSTACK_ALLOC alloca
-#    if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
-     || defined __cplusplus || defined _MSC_VER)
+#    if defined (__STDC__) || defined (__cplusplus)
 #     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
-#     ifndef _STDLIB_H
-#      define _STDLIB_H 1
-#     endif
+#     define YYINCLUDED_STDLIB_H
 #    endif
 #   endif
 #  endif
 # endif
 
 # ifdef YYSTACK_ALLOC
-   /* Pacify GCC's `empty if-body' warning.  */
-#  define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
+   /* Pacify GCC's `empty if-body' warning. */
+#  define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
 #  ifndef YYSTACK_ALLOC_MAXIMUM
     /* The OS might guarantee only one guard page at the bottom of the stack,
        and a page size can be as small as 4096 bytes.  So we cannot safely
        invoke alloca (N) if N exceeds 4096.  Use a slightly smaller number
        to allow for a few compiler-allocated temporary stack slots.  */
-#   define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
+#   define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2005 */
 #  endif
 # else
 #  define YYSTACK_ALLOC YYMALLOC
 #  define YYSTACK_FREE YYFREE
 #  ifndef YYSTACK_ALLOC_MAXIMUM
-#   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
+#   define YYSTACK_ALLOC_MAXIMUM ((YYSIZE_T) -1)
 #  endif
-#  if (defined __cplusplus && ! defined _STDLIB_H \
-       && ! ((defined YYMALLOC || defined malloc) \
-	     && (defined YYFREE || defined free)))
-#   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
-#   ifndef _STDLIB_H
-#    define _STDLIB_H 1
-#   endif
+#  ifdef __cplusplus
+extern "C" {
 #  endif
 #  ifndef YYMALLOC
 #   define YYMALLOC malloc
-#   if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
-     || defined __cplusplus || defined _MSC_VER)
+#   if (! defined (malloc) && ! defined (YYINCLUDED_STDLIB_H) \
+	&& (defined (__STDC__) || defined (__cplusplus)))
 void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
 #   endif
 #  endif
 #  ifndef YYFREE
 #   define YYFREE free
-#   if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
-     || defined __cplusplus || defined _MSC_VER)
+#   if (! defined (free) && ! defined (YYINCLUDED_STDLIB_H) \
+	&& (defined (__STDC__) || defined (__cplusplus)))
 void free (void *); /* INFRINGES ON USER NAME SPACE */
 #   endif
 #  endif
+#  ifdef __cplusplus
+}
+#  endif
 # endif
-#endif /* ! defined yyoverflow || YYERROR_VERBOSE */
+#endif /* ! defined (yyoverflow) || YYERROR_VERBOSE */
 
 
-#if (! defined yyoverflow \
-     && (! defined __cplusplus \
-	 || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
+#if (! defined (yyoverflow) \
+     && (! defined (__cplusplus) \
+	 || (defined (YYSTYPE_IS_TRIVIAL) && YYSTYPE_IS_TRIVIAL)))
 
 /* A type that is properly aligned for any stack member.  */
 union yyalloc
 {
-  yytype_int16 yyss;
+  short int yyss;
   YYSTYPE yyvs;
   };
 
@@ -1468,13 +1384,13 @@
 /* The size of an array large to enough to hold all stacks, each with
    N elements.  */
 # define YYSTACK_BYTES(N) \
-     ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
+     ((N) * (sizeof (short int) + sizeof (YYSTYPE))			\
       + YYSTACK_GAP_MAXIMUM)
 
 /* Copy COUNT objects from FROM to TO.  The source and destination do
    not overlap.  */
 # ifndef YYCOPY
-#  if defined __GNUC__ && 1 < __GNUC__
+#  if defined (__GNUC__) && 1 < __GNUC__
 #   define YYCOPY(To, From, Count) \
       __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
 #  else
@@ -1485,7 +1401,7 @@
 	  for (yyi = 0; yyi < (Count); yyi++)	\
 	    (To)[yyi] = (From)[yyi];		\
 	}					\
-      while (YYID (0))
+      while (0)
 #  endif
 # endif
 
@@ -1503,47 +1419,53 @@
 	yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
 	yyptr += yynewbytes / sizeof (*yyptr);				\
       }									\
-    while (YYID (0))
+    while (0)
+
+#endif
 
+#if defined (__STDC__) || defined (__cplusplus)
+   typedef signed char yysigned_char;
+#else
+   typedef short int yysigned_char;
 #endif
 
-/* YYFINAL -- State number of the termination state.  */
+/* YYFINAL -- State number of the termination state. */
 #define YYFINAL  36
 /* YYLAST -- Last index in YYTABLE.  */
-#define YYLAST   1365
+#define YYLAST   1357
 
-/* YYNTOKENS -- Number of terminals.  */
-#define YYNTOKENS  148
-/* YYNNTS -- Number of nonterminals.  */
+/* YYNTOKENS -- Number of terminals. */
+#define YYNTOKENS  147
+/* YYNNTS -- Number of nonterminals. */
 #define YYNNTS  79
-/* YYNRULES -- Number of rules.  */
-#define YYNRULES  286
-/* YYNRULES -- Number of states.  */
-#define YYNSTATES  571
+/* YYNRULES -- Number of rules. */
+#define YYNRULES  285
+/* YYNRULES -- Number of states. */
+#define YYNSTATES  569
 
 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
 #define YYUNDEFTOK  2
-#define YYMAXUTOK   388
+#define YYMAXUTOK   387
 
 #define YYTRANSLATE(YYX)						\
   ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
 
 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
-static const yytype_uint8 yytranslate[] =
+static const unsigned char yytranslate[] =
 {
        0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     138,   139,   136,     2,   135,     2,     2,     2,     2,     2,
+     137,   138,   135,     2,   134,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     143,   134,   144,     2,     2,     2,     2,     2,     2,     2,
+     142,   133,   143,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,   140,   137,   142,     2,     2,     2,     2,     2,   147,
+       2,   139,   136,   141,     2,     2,     2,     2,     2,   146,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     141,     2,     2,   145,     2,   146,     2,     2,     2,     2,
+     140,     2,     2,   144,     2,   145,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
@@ -1569,13 +1491,13 @@
       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
      115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
-     125,   126,   127,   128,   129,   130,   131,   132,   133
+     125,   126,   127,   128,   129,   130,   131,   132
 };
 
 #if YYDEBUG
 /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
    YYRHS.  */
-static const yytype_uint16 yyprhs[] =
+static const unsigned short int yyprhs[] =
 {
        0,     0,     3,     5,     7,     9,    11,    13,    15,    17,
       19,    21,    23,    25,    27,    29,    31,    33,    35,    37,
@@ -1588,125 +1510,125 @@
      156,   157,   159,   161,   163,   165,   167,   169,   172,   174,
      176,   177,   180,   182,   184,   185,   188,   189,   192,   193,
      197,   200,   201,   203,   204,   208,   210,   213,   215,   217,
-     219,   221,   223,   225,   227,   230,   232,   235,   241,   247,
-     253,   259,   263,   266,   272,   277,   280,   282,   284,   286,
-     290,   292,   296,   298,   299,   301,   305,   310,   314,   318,
-     323,   328,   332,   339,   345,   348,   351,   354,   357,   360,
-     363,   366,   369,   372,   375,   382,   388,   397,   404,   411,
-     419,   427,   434,   441,   450,   459,   463,   465,   467,   469,
-     471,   472,   474,   477,   478,   482,   483,   487,   491,   493,
-     497,   501,   502,   509,   510,   518,   519,   527,   530,   534,
-     536,   538,   540,   544,   548,   552,   556,   560,   564,   566,
-     567,   569,   571,   573,   574,   580,   584,   586,   590,   592,
-     593,   603,   605,   607,   612,   614,   616,   619,   623,   624,
-     626,   628,   630,   632,   634,   636,   638,   640,   642,   646,
-     648,   654,   656,   658,   660,   662,   665,   668,   671,   675,
-     678,   679,   681,   684,   687,   691,   701,   711,   720,   735,
-     737,   739,   746,   752,   755,   762,   770,   774,   780,   781,
-     782,   786,   789,   791,   797,   803,   810,   817,   822,   827,
-     834,   839,   844,   851,   858,   861,   870,   872,   874,   875,
-     879,   886,   890,   897,   900,   905,   912
+     219,   221,   223,   225,   228,   230,   233,   239,   245,   251,
+     257,   261,   264,   270,   275,   278,   280,   282,   284,   288,
+     290,   294,   296,   297,   299,   303,   308,   312,   316,   321,
+     326,   330,   337,   343,   346,   349,   352,   355,   358,   361,
+     364,   367,   370,   373,   380,   386,   395,   402,   409,   417,
+     425,   432,   439,   448,   457,   461,   463,   465,   467,   469,
+     470,   472,   475,   476,   480,   481,   485,   489,   491,   495,
+     499,   500,   507,   508,   516,   517,   525,   528,   532,   534,
+     536,   538,   542,   546,   550,   554,   558,   562,   564,   565,
+     567,   569,   571,   572,   578,   582,   584,   588,   590,   591,
+     601,   603,   605,   610,   612,   614,   617,   621,   622,   624,
+     626,   628,   630,   632,   634,   636,   638,   640,   644,   646,
+     652,   654,   656,   658,   660,   663,   666,   669,   673,   676,
+     677,   679,   682,   685,   689,   699,   709,   718,   733,   735,
+     737,   744,   750,   753,   760,   768,   772,   778,   779,   780,
+     784,   787,   789,   795,   801,   808,   815,   820,   825,   832,
+     837,   842,   849,   856,   859,   868,   870,   872,   873,   877,
+     884,   888,   895,   898,   903,   910
 };
 
-/* YYRHS -- A `-1'-separated list of the rules' RHS.  */
-static const yytype_int16 yyrhs[] =
+/* YYRHS -- A `-1'-separated list of the rules' RHS. */
+static const short int yyrhs[] =
 {
-     186,     0,    -1,     5,    -1,     6,    -1,    70,    -1,    71,
-      -1,    72,    -1,    73,    -1,    74,    -1,    75,    -1,    76,
-      -1,    77,    -1,    78,    -1,    79,    -1,    80,    -1,    81,
-      -1,   110,    -1,   111,    -1,   112,    -1,   113,    -1,   114,
-      -1,   115,    -1,   116,    -1,   117,    -1,   118,    -1,   119,
-      -1,   120,    -1,   121,    -1,   124,    -1,   125,    -1,   126,
-      -1,    84,    -1,    85,    -1,    86,    -1,    87,    -1,    88,
-      -1,    89,    -1,    90,    -1,    91,    -1,    92,    -1,    93,
-      -1,    94,    -1,    95,    -1,    96,    -1,    97,    -1,    98,
-      -1,    99,    -1,   100,    -1,   101,    -1,   102,    -1,   103,
-      -1,    90,    -1,    91,    -1,    92,    -1,    93,    -1,    20,
-      -1,    21,    -1,    10,    -1,    11,    -1,    12,    -1,   199,
-     134,    -1,    -1,    34,    -1,    36,    -1,    35,    -1,    37,
-      -1,    39,    -1,    38,    -1,    40,    -1,    42,    -1,    -1,
-     133,    -1,    -1,    38,    -1,    40,    -1,    -1,    34,    -1,
-      35,    -1,    36,    -1,    39,    -1,    -1,    57,    -1,    58,
-      -1,    59,    -1,    60,    -1,    61,    -1,    62,    -1,    56,
-       4,    -1,   111,    -1,   112,    -1,    -1,   166,   165,    -1,
-     131,    -1,   165,    -1,    -1,   168,   167,    -1,    -1,    49,
-       4,    -1,    -1,   135,    49,     4,    -1,    28,    17,    -1,
-      -1,   171,    -1,    -1,   135,   174,   173,    -1,   171,    -1,
-      49,     4,    -1,     9,    -1,    10,    -1,    11,    -1,    12,
-      -1,    13,    -1,    41,    -1,   175,    -1,   176,   136,    -1,
-     211,    -1,   137,     4,    -1,   176,   138,   180,   139,   168,
-      -1,     8,   138,   180,   139,   168,    -1,   140,     4,   141,
-     176,   142,    -1,   143,     4,   141,   176,   144,    -1,   145,
-     181,   146,    -1,   145,   146,    -1,   143,   145,   181,   146,
-     144,    -1,   143,   145,   146,   144,    -1,   176,   166,    -1,
-     176,    -1,     8,    -1,   177,    -1,   179,   135,   177,    -1,
-     179,    -1,   179,   135,    31,    -1,    31,    -1,    -1,   176,
-      -1,   181,   135,   176,    -1,   176,   140,   184,   142,    -1,
-     176,   140,   142,    -1,   176,   147,    17,    -1,   176,   143,
-     184,   144,    -1,   176,   145,   184,   146,    -1,   176,   145,
-     146,    -1,   176,   143,   145,   184,   146,   144,    -1,   176,
-     143,   145,   146,   144,    -1,   176,    32,    -1,   176,    33,
-      -1,   176,   211,    -1,   176,   183,    -1,   176,    19,    -1,
-     156,     3,    -1,   156,     4,    -1,     9,    20,    -1,     9,
-      21,    -1,   157,     7,    -1,   152,   138,   182,    30,   176,
-     139,    -1,   109,   138,   182,   222,   139,    -1,   123,   138,
-     182,   135,   182,   135,   182,   139,    -1,   150,   138,   182,
-     135,   182,   139,    -1,   151,   138,   182,   135,   182,   139,
-      -1,    82,   154,   138,   182,   135,   182,   139,    -1,    83,
-     155,   138,   182,   135,   182,   139,    -1,   153,   138,   182,
-     135,   182,   139,    -1,   128,   138,   182,   135,   182,   139,
-      -1,   129,   138,   182,   135,   182,   135,   182,   139,    -1,
-     130,   138,   182,   135,   182,   135,   182,   139,    -1,   184,
-     135,   182,    -1,   182,    -1,    26,    -1,    27,    -1,   187,
-      -1,    -1,   188,    -1,   187,   188,    -1,    -1,    25,   189,
-     207,    -1,    -1,    24,   190,   208,    -1,    54,    53,   194,
-      -1,    18,    -1,   158,    14,   176,    -1,   158,    14,     8,
-      -1,    -1,   158,   161,   185,   182,   191,   173,    -1,    -1,
-     158,   159,   161,   185,   182,   192,   173,    -1,    -1,   158,
-     160,   161,   185,   176,   193,   173,    -1,    43,   196,    -1,
-      50,   134,   197,    -1,    17,    -1,    48,    -1,    47,    -1,
-      45,   134,   195,    -1,    46,   134,     4,    -1,    44,   134,
-      17,    -1,    63,   134,    17,    -1,   140,   198,   142,    -1,
-     198,   135,    17,    -1,    17,    -1,    -1,    15,    -1,    17,
-      -1,   199,    -1,    -1,   201,   135,   176,   166,   200,    -1,
-     176,   166,   200,    -1,   201,    -1,   201,   135,    31,    -1,
-      31,    -1,    -1,   164,   178,   199,   138,   202,   139,   168,
-     172,   169,    -1,    22,    -1,   145,    -1,   163,   161,   203,
-     204,    -1,    23,    -1,   146,    -1,   214,   206,    -1,   162,
-     161,   203,    -1,    -1,    55,    -1,     3,    -1,     4,    -1,
-       7,    -1,    20,    -1,    21,    -1,    32,    -1,    33,    -1,
-      19,    -1,   143,   184,   144,    -1,   183,    -1,    53,   209,
-      17,   135,    17,    -1,   149,    -1,   199,    -1,   211,    -1,
-     210,    -1,   176,   212,    -1,   214,   215,    -1,   205,   215,
-      -1,   216,   158,   217,    -1,   216,   219,    -1,    -1,    16,
-      -1,    64,   213,    -1,    64,     8,    -1,    65,    13,   212,
-      -1,    65,     9,   212,   135,    13,   212,   135,    13,   212,
-      -1,    66,   156,   212,   135,    13,   212,   140,   218,   142,
-      -1,    66,   156,   212,   135,    13,   212,   140,   142,    -1,
-      67,   164,   178,   212,   138,   221,   139,   168,    30,    13,
-     212,    68,    13,   212,    -1,    68,    -1,    69,    -1,   218,
-     156,   210,   135,    13,   212,    -1,   156,   210,   135,    13,
-     212,    -1,   158,   224,    -1,   176,   140,   212,   135,   212,
-     142,    -1,   220,   135,   140,   212,   135,   212,   142,    -1,
-     176,   212,   166,    -1,   221,   135,   176,   212,   166,    -1,
-      -1,    -1,   222,   135,   213,    -1,    52,    51,    -1,    51,
-      -1,   150,   176,   212,   135,   212,    -1,   151,   176,   212,
-     135,   212,    -1,    82,   154,   176,   212,   135,   212,    -1,
-      83,   155,   176,   212,   135,   212,    -1,   153,   213,   135,
-     213,    -1,   152,   213,    30,   176,    -1,   123,   213,   135,
-     213,   135,   213,    -1,   127,   213,   135,   176,    -1,   128,
-     213,   135,   213,    -1,   129,   213,   135,   213,   135,   213,
-      -1,   130,   213,   135,   213,   135,   213,    -1,   122,   220,
-      -1,   223,   164,   178,   212,   138,   221,   139,   168,    -1,
-     226,    -1,    29,    -1,    -1,   104,   176,   170,    -1,   104,
-     176,   135,    10,   212,   170,    -1,   105,   176,   170,    -1,
-     105,   176,   135,    10,   212,   170,    -1,   106,   213,    -1,
-     225,   107,   176,   212,    -1,   225,   108,   213,   135,   176,
-     212,    -1,   109,   176,   212,   222,    -1
+     185,     0,    -1,     5,    -1,     6,    -1,    69,    -1,    70,
+      -1,    71,    -1,    72,    -1,    73,    -1,    74,    -1,    75,
+      -1,    76,    -1,    77,    -1,    78,    -1,    79,    -1,    80,
+      -1,   109,    -1,   110,    -1,   111,    -1,   112,    -1,   113,
+      -1,   114,    -1,   115,    -1,   116,    -1,   117,    -1,   118,
+      -1,   119,    -1,   120,    -1,   123,    -1,   124,    -1,   125,
+      -1,    83,    -1,    84,    -1,    85,    -1,    86,    -1,    87,
+      -1,    88,    -1,    89,    -1,    90,    -1,    91,    -1,    92,
+      -1,    93,    -1,    94,    -1,    95,    -1,    96,    -1,    97,
+      -1,    98,    -1,    99,    -1,   100,    -1,   101,    -1,   102,
+      -1,    89,    -1,    90,    -1,    91,    -1,    92,    -1,    19,
+      -1,    20,    -1,     9,    -1,    10,    -1,    11,    -1,   198,
+     133,    -1,    -1,    33,    -1,    35,    -1,    34,    -1,    36,
+      -1,    38,    -1,    37,    -1,    39,    -1,    41,    -1,    -1,
+     132,    -1,    -1,    37,    -1,    39,    -1,    -1,    33,    -1,
+      34,    -1,    35,    -1,    38,    -1,    -1,    56,    -1,    57,
+      -1,    58,    -1,    59,    -1,    60,    -1,    61,    -1,    55,
+       4,    -1,   110,    -1,   111,    -1,    -1,   165,   164,    -1,
+     130,    -1,   164,    -1,    -1,   167,   166,    -1,    -1,    48,
+       4,    -1,    -1,   134,    48,     4,    -1,    27,    16,    -1,
+      -1,   170,    -1,    -1,   134,   173,   172,    -1,   170,    -1,
+      48,     4,    -1,     9,    -1,    10,    -1,    11,    -1,    12,
+      -1,    40,    -1,   174,    -1,   175,   135,    -1,   210,    -1,
+     136,     4,    -1,   175,   137,   179,   138,   167,    -1,     8,
+     137,   179,   138,   167,    -1,   139,     4,   140,   175,   141,
+      -1,   142,     4,   140,   175,   143,    -1,   144,   180,   145,
+      -1,   144,   145,    -1,   142,   144,   180,   145,   143,    -1,
+     142,   144,   145,   143,    -1,   175,   165,    -1,   175,    -1,
+       8,    -1,   176,    -1,   178,   134,   176,    -1,   178,    -1,
+     178,   134,    30,    -1,    30,    -1,    -1,   175,    -1,   180,
+     134,   175,    -1,   175,   139,   183,   141,    -1,   175,   139,
+     141,    -1,   175,   146,    16,    -1,   175,   142,   183,   143,
+      -1,   175,   144,   183,   145,    -1,   175,   144,   145,    -1,
+     175,   142,   144,   183,   145,   143,    -1,   175,   142,   144,
+     145,   143,    -1,   175,    31,    -1,   175,    32,    -1,   175,
+     210,    -1,   175,   182,    -1,   175,    18,    -1,   155,     3,
+      -1,   155,     4,    -1,     9,    19,    -1,     9,    20,    -1,
+     156,     7,    -1,   151,   137,   181,    29,   175,   138,    -1,
+     108,   137,   181,   221,   138,    -1,   122,   137,   181,   134,
+     181,   134,   181,   138,    -1,   149,   137,   181,   134,   181,
+     138,    -1,   150,   137,   181,   134,   181,   138,    -1,    81,
+     153,   137,   181,   134,   181,   138,    -1,    82,   154,   137,
+     181,   134,   181,   138,    -1,   152,   137,   181,   134,   181,
+     138,    -1,   127,   137,   181,   134,   181,   138,    -1,   128,
+     137,   181,   134,   181,   134,   181,   138,    -1,   129,   137,
+     181,   134,   181,   134,   181,   138,    -1,   183,   134,   181,
+      -1,   181,    -1,    25,    -1,    26,    -1,   186,    -1,    -1,
+     187,    -1,   186,   187,    -1,    -1,    24,   188,   206,    -1,
+      -1,    23,   189,   207,    -1,    53,    52,   193,    -1,    17,
+      -1,   157,    13,   175,    -1,   157,    13,     8,    -1,    -1,
+     157,   160,   184,   181,   190,   172,    -1,    -1,   157,   158,
+     160,   184,   181,   191,   172,    -1,    -1,   157,   159,   160,
+     184,   175,   192,   172,    -1,    42,   195,    -1,    49,   133,
+     196,    -1,    16,    -1,    47,    -1,    46,    -1,    44,   133,
+     194,    -1,    45,   133,     4,    -1,    43,   133,    16,    -1,
+      62,   133,    16,    -1,   139,   197,   141,    -1,   197,   134,
+      16,    -1,    16,    -1,    -1,    14,    -1,    16,    -1,   198,
+      -1,    -1,   200,   134,   175,   165,   199,    -1,   175,   165,
+     199,    -1,   200,    -1,   200,   134,    30,    -1,    30,    -1,
+      -1,   163,   177,   198,   137,   201,   138,   167,   171,   168,
+      -1,    21,    -1,   144,    -1,   162,   160,   202,   203,    -1,
+      22,    -1,   145,    -1,   213,   205,    -1,   161,   160,   202,
+      -1,    -1,    54,    -1,     3,    -1,     4,    -1,     7,    -1,
+      19,    -1,    20,    -1,    31,    -1,    32,    -1,    18,    -1,
+     142,   183,   143,    -1,   182,    -1,    52,   208,    16,   134,
+      16,    -1,   148,    -1,   198,    -1,   210,    -1,   209,    -1,
+     175,   211,    -1,   213,   214,    -1,   204,   214,    -1,   215,
+     157,   216,    -1,   215,   218,    -1,    -1,    15,    -1,    63,
+     212,    -1,    63,     8,    -1,    64,    12,   211,    -1,    64,
+       9,   211,   134,    12,   211,   134,    12,   211,    -1,    65,
+     155,   211,   134,    12,   211,   139,   217,   141,    -1,    65,
+     155,   211,   134,    12,   211,   139,   141,    -1,    66,   163,
+     177,   211,   137,   220,   138,   167,    29,    12,   211,    67,
+      12,   211,    -1,    67,    -1,    68,    -1,   217,   155,   209,
+     134,    12,   211,    -1,   155,   209,   134,    12,   211,    -1,
+     157,   223,    -1,   175,   139,   211,   134,   211,   141,    -1,
+     219,   134,   139,   211,   134,   211,   141,    -1,   175,   211,
+     165,    -1,   220,   134,   175,   211,   165,    -1,    -1,    -1,
+     221,   134,   212,    -1,    51,    50,    -1,    50,    -1,   149,
+     175,   211,   134,   211,    -1,   150,   175,   211,   134,   211,
+      -1,    81,   153,   175,   211,   134,   211,    -1,    82,   154,
+     175,   211,   134,   211,    -1,   152,   212,   134,   212,    -1,
+     151,   212,    29,   175,    -1,   122,   212,   134,   212,   134,
+     212,    -1,   126,   212,   134,   175,    -1,   127,   212,   134,
+     212,    -1,   128,   212,   134,   212,   134,   212,    -1,   129,
+     212,   134,   212,   134,   212,    -1,   121,   219,    -1,   222,
+     163,   177,   211,   137,   220,   138,   167,    -1,   225,    -1,
+      28,    -1,    -1,   103,   175,   169,    -1,   103,   175,   134,
+       9,   211,   169,    -1,   104,   175,   169,    -1,   104,   175,
+     134,     9,   211,   169,    -1,   105,   212,    -1,   224,   106,
+     175,   211,    -1,   224,   107,   212,   134,   175,   211,    -1,
+     108,   175,   211,   221,    -1
 };
 
 /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
-static const yytype_uint16 yyrline[] =
+static const unsigned short int yyrline[] =
 {
        0,  1031,  1031,  1032,  1042,  1042,  1042,  1042,  1042,  1042,
     1042,  1042,  1042,  1043,  1043,  1043,  1044,  1044,  1044,  1044,
@@ -1719,51 +1641,51 @@
     1115,  1116,  1117,  1118,  1119,  1120,  1121,  1122,  1129,  1130,
     1133,  1134,  1139,  1140,  1143,  1144,  1151,  1152,  1158,  1159,
     1167,  1175,  1176,  1181,  1182,  1183,  1188,  1201,  1201,  1201,
-    1201,  1201,  1204,  1208,  1212,  1219,  1224,  1232,  1250,  1268,
-    1273,  1285,  1295,  1299,  1309,  1316,  1323,  1330,  1335,  1340,
-    1347,  1348,  1355,  1362,  1370,  1375,  1386,  1414,  1430,  1459,
-    1487,  1512,  1531,  1556,  1575,  1587,  1594,  1657,  1667,  1677,
-    1683,  1689,  1693,  1697,  1705,  1719,  1740,  1748,  1754,  1765,
-    1770,  1775,  1784,  1790,  1796,  1805,  1809,  1817,  1817,  1828,
-    1833,  1841,  1842,  1846,  1846,  1850,  1850,  1853,  1856,  1868,
-    1892,  1903,  1903,  1912,  1912,  1920,  1920,  1930,  1933,  1939,
-    1952,  1953,  1955,  1959,  1968,  1972,  1977,  1979,  1984,  1989,
-    1998,  1998,  1999,  1999,  2001,  2011,  2022,  2026,  2035,  2044,
-    2049,  2155,  2155,  2157,  2166,  2166,  2168,  2173,  2185,  2189,
-    2194,  2198,  2202,  2206,  2210,  2214,  2218,  2222,  2226,  2251,
-    2255,  2269,  2273,  2279,  2279,  2285,  2294,  2298,  2307,  2318,
-    2327,  2339,  2352,  2356,  2360,  2365,  2374,  2393,  2402,  2469,
-    2473,  2480,  2491,  2504,  2513,  2524,  2534,  2542,  2550,  2553,
-    2554,  2561,  2565,  2570,  2591,  2608,  2621,  2634,  2643,  2656,
-    2664,  2671,  2677,  2683,  2689,  2704,  2767,  2772,  2776,  2783,
-    2790,  2798,  2805,  2813,  2821,  2835,  2852
+    1201,  1204,  1208,  1212,  1219,  1224,  1232,  1250,  1268,  1273,
+    1285,  1295,  1299,  1309,  1316,  1323,  1330,  1335,  1340,  1347,
+    1348,  1355,  1362,  1370,  1375,  1386,  1414,  1430,  1459,  1487,
+    1512,  1531,  1556,  1575,  1587,  1594,  1657,  1667,  1677,  1683,
+    1689,  1694,  1699,  1707,  1721,  1742,  1750,  1756,  1767,  1772,
+    1777,  1786,  1792,  1798,  1807,  1811,  1819,  1819,  1830,  1835,
+    1843,  1844,  1848,  1848,  1852,  1852,  1855,  1858,  1870,  1894,
+    1905,  1905,  1914,  1914,  1922,  1922,  1932,  1935,  1941,  1954,
+    1955,  1957,  1961,  1970,  1974,  1979,  1981,  1986,  1991,  2000,
+    2000,  2001,  2001,  2003,  2013,  2024,  2028,  2037,  2046,  2051,
+    2157,  2157,  2159,  2168,  2168,  2170,  2175,  2187,  2191,  2196,
+    2200,  2204,  2208,  2212,  2216,  2220,  2224,  2228,  2253,  2257,
+    2271,  2275,  2281,  2281,  2287,  2296,  2300,  2309,  2320,  2329,
+    2341,  2354,  2358,  2362,  2367,  2377,  2396,  2405,  2472,  2476,
+    2483,  2494,  2507,  2516,  2527,  2537,  2545,  2553,  2556,  2557,
+    2564,  2568,  2573,  2594,  2611,  2624,  2637,  2646,  2659,  2667,
+    2674,  2680,  2686,  2692,  2707,  2770,  2775,  2779,  2786,  2793,
+    2801,  2808,  2816,  2824,  2838,  2855
 };
 #endif
 
 #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
-   First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
+   First, the terminals, then, starting at YYNTOKENS, nonterminals. */
 static const char *const yytname[] =
 {
   "$end", "error", "$undefined", "ESINT64VAL", "EUINT64VAL", "SINTVAL",
-  "UINTVAL", "FPVAL", "VOID", "BOOL", "INTTYPE", "FLOAT", "DOUBLE",
-  "LABEL", "TYPE", "VAR_ID", "LABELSTR", "STRINGCONSTANT",
-  "IMPLEMENTATION", "ZEROINITIALIZER", "TRUETOK", "FALSETOK", "BEGINTOK",
-  "ENDTOK", "DECLARE", "DEFINE", "GLOBAL", "CONSTANT", "SECTION",
-  "VOLATILE", "TO", "DOTDOTDOT", "NULL_TOK", "UNDEF", "INTERNAL",
-  "LINKONCE", "WEAK", "APPENDING", "DLLIMPORT", "DLLEXPORT", "EXTERN_WEAK",
-  "OPAQUE", "EXTERNAL", "TARGET", "TRIPLE", "ENDIAN", "POINTERSIZE",
-  "LITTLE", "BIG", "ALIGN", "DEPLIBS", "CALL", "TAIL", "ASM_TOK", "MODULE",
-  "SIDEEFFECT", "CC_TOK", "CCC_TOK", "CSRETCC_TOK", "FASTCC_TOK",
-  "COLDCC_TOK", "X86_STDCALLCC_TOK", "X86_FASTCALLCC_TOK", "DATALAYOUT",
-  "RET", "BR", "SWITCH", "INVOKE", "UNWIND", "UNREACHABLE", "ADD", "SUB",
-  "MUL", "UDIV", "SDIV", "FDIV", "UREM", "SREM", "FREM", "AND", "OR",
-  "XOR", "ICMP", "FCMP", "EQ", "NE", "SLT", "SGT", "SLE", "SGE", "ULT",
-  "UGT", "ULE", "UGE", "OEQ", "ONE", "OLT", "OGT", "OLE", "OGE", "ORD",
-  "UNO", "UEQ", "UNE", "MALLOC", "ALLOCA", "FREE", "LOAD", "STORE",
-  "GETELEMENTPTR", "TRUNC", "ZEXT", "SEXT", "FPTRUNC", "FPEXT", "BITCAST",
-  "UITOFP", "SITOFP", "FPTOUI", "FPTOSI", "INTTOPTR", "PTRTOINT",
-  "PHI_TOK", "SELECT", "SHL", "LSHR", "ASHR", "VAARG", "EXTRACTELEMENT",
+  "UINTVAL", "FPVAL", "VOID", "INTTYPE", "FLOAT", "DOUBLE", "LABEL",
+  "TYPE", "VAR_ID", "LABELSTR", "STRINGCONSTANT", "IMPLEMENTATION",
+  "ZEROINITIALIZER", "TRUETOK", "FALSETOK", "BEGINTOK", "ENDTOK",
+  "DECLARE", "DEFINE", "GLOBAL", "CONSTANT", "SECTION", "VOLATILE", "TO",
+  "DOTDOTDOT", "NULL_TOK", "UNDEF", "INTERNAL", "LINKONCE", "WEAK",
+  "APPENDING", "DLLIMPORT", "DLLEXPORT", "EXTERN_WEAK", "OPAQUE",
+  "EXTERNAL", "TARGET", "TRIPLE", "ENDIAN", "POINTERSIZE", "LITTLE", "BIG",
+  "ALIGN", "DEPLIBS", "CALL", "TAIL", "ASM_TOK", "MODULE", "SIDEEFFECT",
+  "CC_TOK", "CCC_TOK", "CSRETCC_TOK", "FASTCC_TOK", "COLDCC_TOK",
+  "X86_STDCALLCC_TOK", "X86_FASTCALLCC_TOK", "DATALAYOUT", "RET", "BR",
+  "SWITCH", "INVOKE", "UNWIND", "UNREACHABLE", "ADD", "SUB", "MUL", "UDIV",
+  "SDIV", "FDIV", "UREM", "SREM", "FREM", "AND", "OR", "XOR", "ICMP",
+  "FCMP", "EQ", "NE", "SLT", "SGT", "SLE", "SGE", "ULT", "UGT", "ULE",
+  "UGE", "OEQ", "ONE", "OLT", "OGT", "OLE", "OGE", "ORD", "UNO", "UEQ",
+  "UNE", "MALLOC", "ALLOCA", "FREE", "LOAD", "STORE", "GETELEMENTPTR",
+  "TRUNC", "ZEXT", "SEXT", "FPTRUNC", "FPEXT", "BITCAST", "UITOFP",
+  "SITOFP", "FPTOUI", "FPTOSI", "INTTOPTR", "PTRTOINT", "PHI_TOK",
+  "SELECT", "SHL", "LSHR", "ASHR", "VAARG", "EXTRACTELEMENT",
   "INSERTELEMENT", "SHUFFLEVECTOR", "NORETURN", "DEFAULT", "HIDDEN", "'='",
   "','", "'*'", "'\\\\'", "'('", "')'", "'['", "'x'", "']'", "'<'", "'>'",
   "'{'", "'}'", "'c'", "$accept", "INTVAL", "ArithmeticOps", "LogicalOps",
@@ -1789,7 +1711,7 @@
 # ifdef YYPRINT
 /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
    token YYLEX-NUM.  */
-static const yytype_uint16 yytoknum[] =
+static const unsigned short int yytoknum[] =
 {
        0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
@@ -1804,47 +1726,47 @@
      355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
      375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
-     385,   386,   387,   388,    61,    44,    42,    92,    40,    41,
-      91,   120,    93,    60,    62,   123,   125,    99
+     385,   386,   387,    61,    44,    42,    92,    40,    41,    91,
+     120,    93,    60,    62,   123,   125,    99
 };
 # endif
 
 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
-static const yytype_uint8 yyr1[] =
+static const unsigned char yyr1[] =
 {
-       0,   148,   149,   149,   150,   150,   150,   150,   150,   150,
-     150,   150,   150,   151,   151,   151,   152,   152,   152,   152,
-     152,   152,   152,   152,   152,   152,   152,   152,   153,   153,
+       0,   147,   148,   148,   149,   149,   149,   149,   149,   149,
+     149,   149,   149,   150,   150,   150,   151,   151,   151,   151,
+     151,   151,   151,   151,   151,   151,   151,   151,   152,   152,
+     152,   153,   153,   153,   153,   153,   153,   153,   153,   153,
      153,   154,   154,   154,   154,   154,   154,   154,   154,   154,
-     154,   155,   155,   155,   155,   155,   155,   155,   155,   155,
-     155,   155,   155,   155,   155,   155,   155,   156,   157,   157,
-     158,   158,   159,   159,   159,   159,   159,   160,   160,   160,
-     161,   161,   162,   162,   162,   163,   163,   163,   163,   163,
-     164,   164,   164,   164,   164,   164,   164,   164,   165,   165,
-     166,   166,   167,   167,   168,   168,   169,   169,   170,   170,
-     171,   172,   172,   173,   173,   174,   174,   175,   175,   175,
-     175,   175,   176,   176,   176,   176,   176,   176,   176,   176,
-     176,   176,   176,   176,   176,   177,   178,   178,   179,   179,
-     180,   180,   180,   180,   181,   181,   182,   182,   182,   182,
-     182,   182,   182,   182,   182,   182,   182,   182,   182,   182,
-     182,   182,   182,   182,   183,   183,   183,   183,   183,   183,
-     183,   183,   183,   183,   183,   184,   184,   185,   185,   186,
-     186,   187,   187,   189,   188,   190,   188,   188,   188,   188,
-     188,   191,   188,   192,   188,   193,   188,   188,   188,   194,
-     195,   195,   196,   196,   196,   196,   197,   198,   198,   198,
-     199,   199,   200,   200,   201,   201,   202,   202,   202,   202,
-     203,   204,   204,   205,   206,   206,   207,   208,   209,   209,
-     210,   210,   210,   210,   210,   210,   210,   210,   210,   210,
-     210,   211,   211,   212,   212,   213,   214,   214,   215,   216,
-     216,   216,   217,   217,   217,   217,   217,   217,   217,   217,
-     217,   218,   218,   219,   220,   220,   221,   221,   221,   222,
-     222,   223,   223,   224,   224,   224,   224,   224,   224,   224,
-     224,   224,   224,   224,   224,   224,   224,   225,   225,   226,
-     226,   226,   226,   226,   226,   226,   226
+     154,   154,   154,   154,   154,   154,   154,   155,   156,   156,
+     157,   157,   158,   158,   158,   158,   158,   159,   159,   159,
+     160,   160,   161,   161,   161,   162,   162,   162,   162,   162,
+     163,   163,   163,   163,   163,   163,   163,   163,   164,   164,
+     165,   165,   166,   166,   167,   167,   168,   168,   169,   169,
+     170,   171,   171,   172,   172,   173,   173,   174,   174,   174,
+     174,   175,   175,   175,   175,   175,   175,   175,   175,   175,
+     175,   175,   175,   175,   176,   177,   177,   178,   178,   179,
+     179,   179,   179,   180,   180,   181,   181,   181,   181,   181,
+     181,   181,   181,   181,   181,   181,   181,   181,   181,   181,
+     181,   181,   181,   182,   182,   182,   182,   182,   182,   182,
+     182,   182,   182,   182,   183,   183,   184,   184,   185,   185,
+     186,   186,   188,   187,   189,   187,   187,   187,   187,   187,
+     190,   187,   191,   187,   192,   187,   187,   187,   193,   194,
+     194,   195,   195,   195,   195,   196,   197,   197,   197,   198,
+     198,   199,   199,   200,   200,   201,   201,   201,   201,   202,
+     203,   203,   204,   205,   205,   206,   207,   208,   208,   209,
+     209,   209,   209,   209,   209,   209,   209,   209,   209,   209,
+     210,   210,   211,   211,   212,   213,   213,   214,   215,   215,
+     215,   216,   216,   216,   216,   216,   216,   216,   216,   216,
+     217,   217,   218,   219,   219,   220,   220,   220,   221,   221,
+     222,   222,   223,   223,   223,   223,   223,   223,   223,   223,
+     223,   223,   223,   223,   223,   223,   224,   224,   225,   225,
+     225,   225,   225,   225,   225,   225
 };
 
 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
-static const yytype_uint8 yyr2[] =
+static const unsigned char yyr2[] =
 {
        0,     2,     1,     1,     1,     1,     1,     1,     1,     1,
        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
@@ -1857,531 +1779,526 @@
        0,     1,     1,     1,     1,     1,     1,     2,     1,     1,
        0,     2,     1,     1,     0,     2,     0,     2,     0,     3,
        2,     0,     1,     0,     3,     1,     2,     1,     1,     1,
-       1,     1,     1,     1,     2,     1,     2,     5,     5,     5,
-       5,     3,     2,     5,     4,     2,     1,     1,     1,     3,
-       1,     3,     1,     0,     1,     3,     4,     3,     3,     4,
-       4,     3,     6,     5,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     6,     5,     8,     6,     6,     7,
-       7,     6,     6,     8,     8,     3,     1,     1,     1,     1,
-       0,     1,     2,     0,     3,     0,     3,     3,     1,     3,
-       3,     0,     6,     0,     7,     0,     7,     2,     3,     1,
-       1,     1,     3,     3,     3,     3,     3,     3,     1,     0,
-       1,     1,     1,     0,     5,     3,     1,     3,     1,     0,
-       9,     1,     1,     4,     1,     1,     2,     3,     0,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     3,     1,
-       5,     1,     1,     1,     1,     2,     2,     2,     3,     2,
-       0,     1,     2,     2,     3,     9,     9,     8,    14,     1,
-       1,     6,     5,     2,     6,     7,     3,     5,     0,     0,
-       3,     2,     1,     5,     5,     6,     6,     4,     4,     6,
-       4,     4,     6,     6,     2,     8,     1,     1,     0,     3,
-       6,     3,     6,     2,     4,     6,     4
+       1,     1,     1,     2,     1,     2,     5,     5,     5,     5,
+       3,     2,     5,     4,     2,     1,     1,     1,     3,     1,
+       3,     1,     0,     1,     3,     4,     3,     3,     4,     4,
+       3,     6,     5,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     6,     5,     8,     6,     6,     7,     7,
+       6,     6,     8,     8,     3,     1,     1,     1,     1,     0,
+       1,     2,     0,     3,     0,     3,     3,     1,     3,     3,
+       0,     6,     0,     7,     0,     7,     2,     3,     1,     1,
+       1,     3,     3,     3,     3,     3,     3,     1,     0,     1,
+       1,     1,     0,     5,     3,     1,     3,     1,     0,     9,
+       1,     1,     4,     1,     1,     2,     3,     0,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     3,     1,     5,
+       1,     1,     1,     1,     2,     2,     2,     3,     2,     0,
+       1,     2,     2,     3,     9,     9,     8,    14,     1,     1,
+       6,     5,     2,     6,     7,     3,     5,     0,     0,     3,
+       2,     1,     5,     5,     6,     6,     4,     4,     6,     4,
+       4,     6,     6,     2,     8,     1,     1,     0,     3,     6,
+       3,     6,     2,     4,     6,     4
 };
 
 /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
    STATE-NUM when YYTABLE doesn't specify something else to do.  Zero
    means the default is an error.  */
-static const yytype_uint16 yydefact[] =
+static const unsigned short int yydefact[] =
 {
-      61,   200,   201,   178,   175,   173,     0,     0,     0,    70,
-       0,    61,   171,     0,    72,    75,     0,     0,     0,     0,
-     187,     0,     0,     0,    62,    64,    63,    65,    67,    66,
-      68,    69,    71,    70,    70,     0,     1,   172,    60,    73,
-      74,    70,   176,    76,    77,    78,    79,    70,   240,   174,
-     240,     0,     0,     0,     0,   199,   188,   189,   177,     2,
-       3,   180,   107,   108,   109,   110,   111,   112,     0,     0,
-       0,     0,   231,   113,   179,   232,   115,     0,     0,   167,
-     168,     0,    80,    80,   241,   237,    61,   214,   215,   216,
-     236,   194,   191,   190,   192,   193,   195,   198,     0,   133,
-     116,     0,     0,     0,     0,   122,   134,     0,   114,   133,
-       0,     0,   107,   108,   109,   110,     0,     0,     0,   181,
-       0,    81,    82,    83,    84,    85,    86,     0,   217,     0,
-     278,   239,     0,   196,   132,    90,   128,   130,     0,     0,
-       0,     0,     0,     0,   121,     0,   183,   185,   151,   152,
-     149,   150,   153,   148,   144,   145,     4,     5,     6,     7,
-       8,     9,    10,    11,    12,    13,    14,    15,     0,     0,
-       0,    16,    17,    18,    19,    20,    21,    22,    23,    24,
-      25,    26,    27,     0,    28,    29,    30,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   147,   146,
-     103,    87,   127,   126,     0,   211,   212,   213,   277,   262,
-       0,     0,     0,     0,    80,   249,   250,     0,     0,     0,
+      61,   199,   200,   177,   174,   172,     0,     0,     0,    70,
+       0,    61,   170,     0,    72,    75,     0,     0,     0,     0,
+     186,     0,     0,     0,    62,    64,    63,    65,    67,    66,
+      68,    69,    71,    70,    70,     0,     1,   171,    60,    73,
+      74,    70,   175,    76,    77,    78,    79,    70,   239,   173,
+     239,     0,     0,     0,     0,   198,   187,   188,   176,     2,
+       3,   179,   107,   108,   109,   110,   111,     0,     0,     0,
+       0,   230,   112,   178,   231,   114,     0,     0,   166,   167,
+       0,    80,    80,   240,   236,    61,   213,   214,   215,   235,
+     193,   190,   189,   191,   192,   194,   197,     0,   132,   115,
+       0,     0,     0,     0,   121,   133,     0,   113,   132,     0,
+       0,   107,   108,   109,     0,     0,     0,   180,     0,    81,
+      82,    83,    84,    85,    86,     0,   216,     0,   277,   238,
+       0,   195,   131,    90,   127,   129,     0,     0,     0,     0,
+       0,     0,   120,     0,   182,   184,   150,   151,   148,   149,
+     152,   147,   143,   144,     4,     5,     6,     7,     8,     9,
+      10,    11,    12,    13,    14,    15,     0,     0,     0,    16,
+      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
+      27,     0,    28,    29,    30,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,   146,   145,   103,    87,
+     126,   125,     0,   210,   211,   212,   276,   261,     0,     0,
+       0,     0,    80,   248,   249,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,   238,    80,   253,     0,   276,   197,   125,
-       0,    94,     0,     0,   124,     0,   135,    94,   103,   103,
-      31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
-       0,    55,    56,    51,    52,    53,    54,    41,    42,    43,
-      44,    45,    46,    47,    48,    49,    50,     0,     0,     0,
-       0,     0,     0,   137,   166,     0,     0,     0,   141,     0,
-     138,     0,     0,     0,     0,     0,   182,     0,   261,   243,
-       0,   242,     0,     0,    57,     0,     0,     0,     0,    98,
-      98,   283,     0,     0,   274,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,    88,    89,    91,
-     131,   129,   118,   119,   120,   123,   117,   184,   186,     0,
-       0,   259,     0,     0,     0,     0,     0,   136,   122,   134,
-       0,   139,   140,     0,     0,     0,     0,     0,     0,   105,
-     103,   209,   220,   221,   222,   227,   223,   224,   225,   226,
-     218,     0,   229,   234,   233,   235,     0,   244,     0,     0,
-       0,     0,     0,   279,     0,   281,   259,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,    92,    93,    95,     0,     0,     0,     0,     0,     0,
-       0,   165,   143,     0,     0,     0,     0,     0,   100,   106,
-     104,   208,    90,   206,     0,   219,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,   286,     0,     0,     0,
-     270,   271,     0,     0,     0,     0,   268,   267,     0,   284,
-       0,     0,     0,     0,   155,     0,     0,     0,     0,   142,
-       0,     0,     0,     0,   203,     0,    94,     0,   228,     0,
-       0,   258,     0,     0,    98,    99,    98,     0,     0,     0,
-       0,     0,   263,   264,   258,     0,     0,     0,   260,     0,
-     162,     0,     0,   157,   158,   154,   161,   202,   205,   207,
-      90,   101,     0,     0,     0,     0,     0,   265,   266,     0,
-     280,   282,     0,     0,   269,   272,   273,     0,   285,   159,
-     160,     0,     0,     0,   203,   102,    96,   230,     0,     0,
-      90,     0,    94,   254,     0,    94,   156,   163,   164,   204,
-       0,   210,     0,   247,     0,     0,   256,     0,     0,   255,
-     275,    97,   245,     0,   246,     0,    90,     0,     0,     0,
-     257,     0,     0,     0,     0,   252,     0,     0,   251,     0,
-     248
+       0,   237,    80,   252,     0,   275,   196,   124,     0,    94,
+       0,     0,   123,     0,   134,    94,   103,   103,    31,    32,
+      33,    34,    35,    36,    37,    38,    39,    40,     0,    55,
+      56,    51,    52,    53,    54,    41,    42,    43,    44,    45,
+      46,    47,    48,    49,    50,     0,     0,     0,     0,     0,
+       0,   136,   165,     0,     0,     0,   140,     0,   137,     0,
+       0,     0,     0,     0,   181,     0,   260,   242,     0,   241,
+       0,     0,    57,     0,     0,     0,     0,    98,    98,   282,
+       0,     0,   273,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,    88,    89,    91,   130,   128,
+     117,   118,   119,   122,   116,   183,   185,     0,     0,   258,
+       0,     0,     0,     0,     0,   135,   121,   133,     0,   138,
+     139,     0,     0,     0,     0,     0,     0,   105,   103,   208,
+     219,   220,   221,   226,   222,   223,   224,   225,   217,     0,
+     228,   233,   232,   234,     0,   243,     0,     0,     0,     0,
+       0,   278,     0,   280,   258,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,    92,
+      93,    95,     0,     0,     0,     0,     0,     0,     0,   164,
+     142,     0,     0,     0,     0,     0,   100,   106,   104,   207,
+      90,   205,     0,   218,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,   285,     0,     0,     0,   269,   270,
+       0,     0,     0,     0,   267,   266,     0,   283,     0,     0,
+       0,     0,   154,     0,     0,     0,     0,   141,     0,     0,
+       0,     0,   202,     0,    94,     0,   227,     0,     0,   257,
+       0,     0,    98,    99,    98,     0,     0,     0,     0,     0,
+     262,   263,   257,     0,     0,     0,   259,     0,   161,     0,
+       0,   156,   157,   153,   160,   201,   204,   206,    90,   101,
+       0,     0,     0,     0,     0,   264,   265,     0,   279,   281,
+       0,     0,   268,   271,   272,     0,   284,   158,   159,     0,
+       0,     0,   202,   102,    96,   229,     0,     0,    90,     0,
+      94,   253,     0,    94,   155,   162,   163,   203,     0,   209,
+       0,   246,     0,     0,   255,     0,     0,   254,   274,    97,
+     244,     0,   245,     0,    90,     0,     0,     0,   256,     0,
+       0,     0,     0,   251,     0,     0,   250,     0,   247
 };
 
-/* YYDEFGOTO[NTERM-NUM].  */
-static const yytype_int16 yydefgoto[] =
+/* YYDEFGOTO[NTERM-NUM]. */
+static const short int yydefgoto[] =
 {
-      -1,    72,   194,   195,   196,   197,   260,   277,   116,   117,
-       9,    33,    34,    35,    41,    47,   127,   329,   239,   403,
-     332,   541,   383,   359,   526,   296,   360,    73,   118,   136,
-     204,   137,   138,   107,   284,   372,   285,    81,    10,    11,
-      12,    15,    14,   200,   248,   249,    58,    94,    20,    56,
-      98,    75,   498,   423,   424,   128,   207,    48,    89,    49,
-      42,   426,   373,    76,   375,   301,    50,    85,    86,   233,
-     545,   131,   314,   506,   406,   234,   235,   236,   237
+      -1,    71,   192,   193,   194,   195,   258,   275,   114,   115,
+       9,    33,    34,    35,    41,    47,   125,   327,   237,   401,
+     330,   539,   381,   357,   524,   294,   358,    72,   116,   134,
+     202,   135,   136,   106,   282,   370,   283,    80,    10,    11,
+      12,    15,    14,   198,   246,   247,    58,    93,    20,    56,
+      97,    74,   496,   421,   422,   126,   205,    48,    88,    49,
+      42,   424,   371,    75,   373,   299,    50,    84,    85,   231,
+     543,   129,   312,   504,   404,   232,   233,   234,   235
 };
 
 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
    STATE-NUM.  */
-#define YYPACT_NINF -425
-static const yytype_int16 yypact[] =
+#define YYPACT_NINF -413
+static const short int yypact[] =
 {
-     320,  -425,  -425,  -425,  -425,  -425,    19,  -109,   -23,    37,
-      53,   392,  -425,   -78,   163,   228,   -47,   -44,   -41,   -38,
-    -425,   -72,    97,   879,  -425,  -425,  -425,  -425,  -425,  -425,
-    -425,  -425,  -425,     2,     2,   137,  -425,  -425,  -425,  -425,
-    -425,     2,  -425,  -425,  -425,  -425,  -425,     2,   159,  -425,
-      16,   102,   218,   198,   208,   211,  -425,  -425,  -425,  -425,
-    -425,   113,  -425,  -425,  -425,  -425,  -425,  -425,   275,   279,
-      15,   244,  -425,  -425,   122,  -425,  -425,   137,   137,  -425,
-    -425,  1099,   419,   419,  -425,  -425,   274,  -425,  -425,  -425,
-    -425,  -425,  -425,  -425,  -425,  -425,  -425,  -425,   -51,   586,
-    -425,   149,   162,   498,   113,  -425,   122,  -104,  -425,   586,
-    1099,  1113,   164,   192,   297,   298,   270,   302,    29,  -425,
-     309,  -425,  -425,  -425,  -425,  -425,  -425,  1126,  -425,   -15,
-    1235,  -425,   299,  -425,  -425,   122,  -425,   180,   179,  1113,
-    1113,   175,   -80,  1113,  -425,   182,  -425,   122,  -425,  -425,
-    -425,  -425,  -425,  -425,  -425,  -425,  -425,  -425,  -425,  -425,
-    -425,  -425,  -425,  -425,  -425,  -425,  -425,  -425,   478,   905,
-     184,  -425,  -425,  -425,  -425,  -425,  -425,  -425,  -425,  -425,
-    -425,  -425,  -425,   185,  -425,  -425,  -425,   186,   189,   190,
-     734,  1140,   517,   312,   193,   194,   196,   201,  -425,  -425,
-     195,  -425,   113,   122,   274,  -425,  -425,  -425,  -425,  -425,
-     285,  1153,   119,   330,   419,  -425,  -425,   478,   905,  1113,
-    1113,  1113,  1113,  1113,  1113,  1113,  1113,  1113,  1113,  1113,
-    1113,  1113,  1113,  -425,   419,  -425,   188,  -425,  -425,   187,
-     779,  -425,    51,    35,  -425,   197,   122,  -425,   195,   195,
-    -425,  -425,  -425,  -425,  -425,  -425,  -425,  -425,  -425,  -425,
-     204,  -425,  -425,  -425,  -425,  -425,  -425,  -425,  -425,  -425,
-    -425,  -425,  -425,  -425,  -425,  -425,  -425,   205,  1099,  1099,
-    1099,  1099,  1099,  -425,  -425,    -8,   544,   -66,  -425,   -76,
-    -425,  1099,  1099,  1099,  1099,     9,  -425,   210,  -425,   113,
-     688,  -425,   829,   829,  -425,   829,  1126,  1113,  1113,   108,
-     142,  -425,   688,    52,   219,   220,   223,   226,   229,   231,
-     688,   688,   316,   232,  1126,  1113,  1113,  -425,  -425,  -425,
-    -425,  -425,   -71,  -425,  -425,  -425,   -71,  -425,  -425,  1099,
-    1099,  -425,   233,   234,   238,   245,  1099,  -425,   209,    29,
-     -13,  -425,  -425,   250,   251,   358,   256,   378,   394,  -425,
-     195,  1048,  -425,  -425,  -425,  -425,  -425,  -425,  -425,  -425,
-     346,  1099,  -425,  -425,  -425,  -425,   268,  -425,   276,   829,
-     688,   688,    -2,  -425,    18,  -425,  -425,   829,   273,  1113,
-    1113,  1113,  1113,  1113,   283,   284,  1113,  1113,   829,   688,
-     286,  -425,  -425,  -425,   287,   290,    59,  1099,  1099,  1099,
-    1099,  -425,  -425,   282,  1099,  1099,  1113,  1099,  -425,  -425,
-    -425,  -425,   122,   292,   281,  -425,   397,   -52,   415,   416,
-     300,   295,   306,   829,   433,   829,   308,   310,   829,   313,
-     122,  -425,   314,   315,   829,   829,   122,  -425,   317,  -425,
-    1113,  1099,  1099,  1113,  -425,   318,   305,   319,   321,  -425,
-     322,   323,   148,   324,    12,  1086,  -425,   325,  -425,   829,
-     829,  1113,   829,   829,   333,  -425,   333,   829,   336,  1113,
-    1113,  1113,  -425,  -425,  1113,   688,   334,   347,  -425,  1099,
-    -425,  1099,  1099,  -425,  -425,  -425,  -425,  -425,  -425,  -425,
-     122,     5,   430,   337,   345,   688,   106,  -425,  -425,   403,
-    -425,  -425,   349,   829,  -425,  -425,  -425,   136,  -425,  -425,
-    -425,   348,   353,   355,    12,  -425,   409,  -425,   446,    -5,
-    -425,  1113,  -425,  -425,   356,  -425,  -425,  -425,  -425,  -425,
-     491,  -425,   829,  -425,   957,    14,   187,   688,    88,  -425,
-     -71,  -425,  -425,   362,  -425,   957,  -425,   486,   487,   370,
-     187,   829,   829,   499,   448,  -425,   829,   501,  -425,   829,
-    -425
+     401,  -413,  -413,  -413,  -413,  -413,   110,  -107,    30,    67,
+      77,   527,  -413,   -43,     2,   238,   -16,     8,    47,    84,
+    -413,    -4,   132,   791,  -413,  -413,  -413,  -413,  -413,  -413,
+    -413,  -413,  -413,    91,    91,   149,  -413,  -413,  -413,  -413,
+    -413,    91,  -413,  -413,  -413,  -413,  -413,    91,   147,  -413,
+      20,   210,   208,   280,   226,   273,  -413,  -413,  -413,  -413,
+    -413,   160,  -413,  -413,  -413,  -413,  -413,   295,   299,     3,
+       7,  -413,  -413,   140,  -413,  -413,   149,   149,  -413,  -413,
+     954,   192,   192,  -413,  -413,   184,  -413,  -413,  -413,  -413,
+    -413,  -413,  -413,  -413,  -413,  -413,  -413,   -65,   549,  -413,
+     167,   171,    22,   160,  -413,   140,   -81,  -413,   549,   954,
+    1045,    95,   311,   312,   284,   313,   602,  -413,   317,  -413,
+    -413,  -413,  -413,  -413,  -413,  1125,  -413,    -7,  1228,  -413,
+     306,  -413,  -413,   140,  -413,   191,   193,  1045,  1045,   186,
+     -64,  1045,  -413,   194,  -413,   140,  -413,  -413,  -413,  -413,
+    -413,  -413,  -413,  -413,  -413,  -413,  -413,  -413,  -413,  -413,
+    -413,  -413,  -413,  -413,  -413,  -413,   251,   501,   207,  -413,
+    -413,  -413,  -413,  -413,  -413,  -413,  -413,  -413,  -413,  -413,
+    -413,   209,  -413,  -413,  -413,   214,   215,   216,    49,  1138,
+     120,   314,   219,   222,   224,   225,  -413,  -413,   230,  -413,
+     160,   140,   184,  -413,  -413,  -413,  -413,  -413,   315,  1185,
+     175,   357,   192,  -413,  -413,   251,   501,  1045,  1045,  1045,
+    1045,  1045,  1045,  1045,  1045,  1045,  1045,  1045,  1045,  1045,
+    1045,  -413,   192,  -413,   195,  -413,  -413,   203,   693,  -413,
+     126,    46,  -413,   228,   140,  -413,   230,   230,  -413,  -413,
+    -413,  -413,  -413,  -413,  -413,  -413,  -413,  -413,   231,  -413,
+    -413,  -413,  -413,  -413,  -413,  -413,  -413,  -413,  -413,  -413,
+    -413,  -413,  -413,  -413,  -413,   235,   954,   954,   954,   954,
+     954,  -413,  -413,    29,   500,   -24,  -413,   -27,  -413,   954,
+     954,   954,   954,    39,  -413,   241,  -413,   160,   746,  -413,
+     873,   873,  -413,   873,  1125,  1045,  1045,   123,   159,  -413,
+     746,   146,   233,   245,   248,   249,   250,   252,   746,   746,
+     356,   253,  1125,  1045,  1045,  -413,  -413,  -413,  -413,  -413,
+     -18,  -413,  -413,  -413,   -18,  -413,  -413,   954,   954,  -413,
+     254,   255,   256,   259,   954,  -413,   262,   602,   -12,  -413,
+    -413,   265,   274,   367,   275,   391,   407,  -413,   230,   774,
+    -413,  -413,  -413,  -413,  -413,  -413,  -413,  -413,   358,   954,
+    -413,  -413,  -413,  -413,   282,  -413,   285,   873,   746,   746,
+      35,  -413,    43,  -413,  -413,   873,   281,  1045,  1045,  1045,
+    1045,  1045,   289,   292,  1045,  1045,   873,   746,   293,  -413,
+    -413,  -413,   294,   301,   -25,   954,   954,   954,   954,  -413,
+    -413,   271,   954,   954,  1045,   954,  -413,  -413,  -413,  -413,
+     140,   302,   303,  -413,   417,    25,   427,   428,   305,   310,
+     318,   873,   441,   873,   319,   322,   873,   323,   140,  -413,
+     324,   325,   873,   873,   140,  -413,   309,  -413,  1045,   954,
+     954,  1045,  -413,   326,   328,   327,   335,  -413,   332,   333,
+     131,   336,    34,  1028,  -413,   339,  -413,   873,   873,  1045,
+     873,   873,   341,  -413,   341,   873,   342,  1045,  1045,  1045,
+    -413,  -413,  1045,   746,   340,   345,  -413,   954,  -413,   954,
+     954,  -413,  -413,  -413,  -413,  -413,  -413,  -413,   140,    10,
+     431,   343,   346,   746,    63,  -413,  -413,   400,  -413,  -413,
+     338,   873,  -413,  -413,  -413,   144,  -413,  -413,  -413,   351,
+     352,   354,    34,  -413,   403,  -413,   472,    -3,  -413,  1045,
+    -413,  -413,   355,  -413,  -413,  -413,  -413,  -413,   489,  -413,
+     873,  -413,  1000,    15,   203,   746,    66,  -413,   -18,  -413,
+    -413,   361,  -413,  1000,  -413,   485,   486,   368,   203,   873,
+     873,   491,   434,  -413,   873,   492,  -413,   873,  -413
 };
 
 /* YYPGOTO[NTERM-NUM].  */
-static const yytype_int16 yypgoto[] =
+static const short int yypgoto[] =
 {
-    -425,  -425,   388,   389,   390,   391,   326,   327,  -212,  -425,
-     445,  -425,  -425,    47,  -425,  -425,  -196,  -310,  -379,  -425,
-    -235,  -425,  -308,    32,  -425,  -199,  -425,  -425,   -14,   304,
-    -270,  -425,   426,   434,   -58,  -112,  -188,   224,  -425,  -425,
-     529,  -425,  -425,  -425,  -425,  -425,  -425,  -425,  -425,  -425,
-    -425,     0,    22,  -425,  -425,   459,  -425,  -425,  -425,  -425,
-    -425,  -425,  -424,   -73,   103,  -211,  -425,   510,  -425,  -425,
-    -425,  -425,  -425,    67,   191,  -425,  -425,  -425,  -425
+    -413,  -413,   379,   385,   389,   390,   304,   307,  -210,  -413,
+     439,  -413,  -413,   145,  -413,  -413,  -192,  -305,  -412,  -413,
+    -235,  -413,  -303,    26,  -413,  -201,  -413,  -413,   -14,   288,
+    -255,  -413,   420,   429,   -58,  -112,  -187,   239,  -413,  -413,
+     518,  -413,  -413,  -413,  -413,  -413,  -413,  -413,  -413,  -413,
+    -413,     0,    11,  -413,  -413,   448,  -413,  -413,  -413,  -413,
+    -413,  -413,  -403,   -73,   103,  -151,  -413,   482,  -413,  -413,
+    -413,  -413,  -413,    53,   153,  -413,  -413,  -413,  -413
 };
 
 /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
    positive, shift that token.  If negative, reduce the rule which
    number is the opposite.  If zero, do what YYDEFACT says.
    If YYTABLE_NINF, syntax error.  */
-#define YYTABLE_NINF -171
-static const yytype_int16 yytable[] =
+#define YYTABLE_NINF -170
+static const short int yytable[] =
 {
-      13,   305,   385,   287,   289,   304,   198,   205,   433,    74,
-     311,    13,   336,   315,   316,   317,   318,   319,   306,   102,
-     322,   323,   402,   119,   304,    21,   402,     1,   435,     2,
-      22,   143,    84,   357,    59,    60,   379,   357,   324,    87,
-     327,   328,   144,   464,     1,   199,     2,   434,   153,   337,
-     338,    23,   146,    36,   398,   143,    38,   106,   358,   346,
-     401,   154,   155,    16,    17,    18,   245,   434,    55,   346,
-     352,    24,    25,    26,    27,    28,    29,    30,   351,    31,
-      77,    78,    19,   346,   132,   135,    13,    51,    82,   106,
-      52,   133,   468,    53,    83,   135,    54,   147,   350,   156,
-     157,   158,   159,   160,   161,   162,   163,   164,   165,   166,
-     167,   168,   169,   203,    57,   400,   327,   328,   557,    91,
-     553,   524,   346,   327,   328,   242,   243,   346,   302,   246,
-     206,   559,   303,   413,   347,    32,   401,   543,   170,   171,
-     172,   173,   174,   175,   176,   177,   178,   179,   180,   181,
-     182,   546,   183,   184,   185,   186,   554,   187,   188,   189,
-     103,   420,    88,    79,    80,   108,   510,   109,   511,   190,
-      32,   108,   191,   109,   192,    84,   193,   560,   439,   334,
-     441,   442,   443,   427,   148,   149,   447,   108,   108,   109,
-     109,   402,   387,   333,   453,   -57,   -57,   300,   454,   327,
-     328,    39,    95,    40,   297,   309,   310,   300,   312,   313,
-     300,   300,   300,   300,   300,   320,   321,   300,   300,   401,
-     341,   342,   343,   344,   345,    96,   135,   374,    97,   374,
-     374,   501,   374,   353,   354,   355,   356,   198,   402,   374,
-     402,   531,   488,   382,   108,   532,   109,   374,   374,    59,
-      60,    99,   104,    62,    63,    64,    65,    66,   108,     1,
-     109,     2,    43,    44,    45,    92,    93,    46,   514,   515,
-     516,   531,   349,   150,   151,   535,   199,   384,   108,   100,
-     109,   404,   405,   101,   108,    67,   109,   495,   411,     1,
-     139,     2,   203,   380,   381,   325,   326,   548,   327,   328,
-     550,   110,   111,   140,   -58,   -59,   374,   374,   374,   152,
-     203,   399,   300,   201,   374,   240,   238,   544,   241,   244,
-    -170,   247,   278,   279,   280,   374,   374,   281,   282,   290,
-     295,   291,   292,   555,   293,     1,   298,     2,     3,   294,
-     304,   335,   339,   340,     4,     5,   396,   422,   361,   455,
-     456,   457,   458,   412,   388,   389,   460,   461,   390,   463,
-     374,   391,   374,     6,   392,   374,   393,   397,   407,   408,
-       7,   374,   374,   409,     8,   300,   440,   300,   300,   300,
-     410,    68,   446,   300,    69,   414,   415,    70,   416,    71,
-     105,   417,  -169,   486,   487,   418,   374,   374,   419,   374,
-     374,   425,   462,   428,   374,   376,   377,     1,   378,     2,
-       3,   429,   374,   438,   467,   386,     4,     5,   444,   445,
-     466,   450,   451,   394,   395,   452,   459,   465,   469,   470,
-     472,   521,   374,   522,   523,     6,   485,   475,   471,   300,
-     374,   473,     7,   453,   490,   477,     8,   527,   479,   480,
-     481,   500,   434,   489,   491,   484,   492,   505,   540,   542,
-     502,   493,   494,   496,   497,   300,   300,   300,   509,   374,
-     505,   513,   528,   519,   374,   120,   121,   122,   123,   124,
-     125,   126,   430,   431,   432,   529,   520,   536,   374,   374,
-     437,   533,   537,   374,   538,   551,   374,   558,   549,   561,
-     562,   448,   449,    59,    60,   563,   104,    62,    63,    64,
-      65,    66,   566,     1,   569,     2,   567,   547,   229,   230,
-     231,   232,    59,    60,   497,   104,   112,   113,   114,   115,
-      66,   130,     1,   525,     2,   145,   474,   142,   476,    67,
-      37,   478,   129,   307,   331,   308,   539,   482,   483,    59,
-      60,   517,   104,   112,   113,   114,   115,    66,    67,     1,
-      90,     2,   250,   251,   252,   253,   254,   255,   256,   257,
-     258,   259,   503,   504,     0,   507,   508,   436,     0,     0,
-     512,     0,     0,     0,     0,    67,     0,     0,   518,     0,
-       0,    59,    60,     0,   104,    62,    63,    64,    65,    66,
-       0,     1,     0,     2,     0,     0,     0,     0,   530,     0,
-       0,     0,     0,     0,     0,     0,   534,   134,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,    67,     0,     0,
-       0,     0,     0,     0,     0,    68,     0,     0,    69,     0,
-       0,    70,     0,    71,   141,   552,     0,     0,     0,     0,
-     556,     0,     0,     0,    68,     0,     0,    69,     0,     0,
-      70,     0,    71,   288,   564,   565,     0,     0,     0,   568,
-       0,     0,   570,     0,     0,     0,     0,     0,     0,     0,
-       0,    68,     0,     0,    69,     0,     0,    70,     0,    71,
-     348,   362,   363,    59,    60,   364,     0,     0,     0,     0,
-       0,     0,     0,     1,     0,     2,     0,   365,   366,   367,
+      13,   303,   285,   287,   196,   383,   302,   101,   462,    73,
+     334,    13,    59,    60,   203,   103,    62,    63,    64,    65,
+     304,     1,   117,     2,   302,   400,    21,    59,    60,   400,
+     103,    62,    63,    64,    65,    83,     1,   355,     2,    39,
+     322,    40,    86,   197,   431,   335,   336,    66,     1,   377,
+       2,   144,   433,   141,    59,    60,   105,   103,   111,   112,
+     113,    65,    66,     1,   142,     2,   355,   396,   309,   130,
+     141,   313,   314,   315,   316,   317,   131,    36,   320,   321,
+      23,   243,    22,   432,   133,    13,   522,   356,   105,    66,
+      38,   432,   325,   326,   133,   555,   145,   348,   -57,   -57,
+      24,    25,    26,    27,    28,    29,    30,   344,    31,   451,
+     344,   201,   399,   452,   146,   147,   544,    51,   350,   349,
+     325,   326,   344,   240,   241,    59,    60,   244,   103,   111,
+     112,   113,    65,   411,     1,    55,     2,   204,   541,   551,
+     399,    52,   558,    67,   325,   326,    68,   102,    57,    69,
+     557,    70,   104,    16,    17,    18,   552,   418,    67,   344,
+      66,    68,    83,   344,    69,    87,    70,   139,   466,   508,
+     345,   509,    19,   398,    78,    79,   325,   326,    76,    77,
+      53,   107,   425,   108,   300,    67,    81,   301,    68,   332,
+     281,    69,    82,    70,   400,   298,   399,   529,     1,    32,
+       2,   530,   295,   307,   308,   298,   310,   311,   298,   298,
+     298,   298,   298,   318,   319,   298,   298,    54,   339,   340,
+     341,   342,   343,    32,   133,   372,    90,   372,   372,   499,
+     372,   351,   352,   353,   354,   196,   437,   372,   439,   440,
+     441,   400,    95,   400,   445,   372,   372,   118,   119,   120,
+     121,   122,   123,   124,    91,    92,    67,   380,   107,    68,
+     108,   107,    69,   108,    70,   286,   107,   331,   108,   493,
+     347,    43,    44,    45,   197,   107,    46,   108,   529,   402,
+     403,   107,   533,   108,    94,   385,   409,   148,   149,    96,
+     201,   378,   379,   382,   107,   546,   108,    98,   548,    99,
+     486,   323,   324,   100,   372,   372,   372,   137,   201,   397,
+     298,   138,   372,   325,   326,   109,   110,   542,   -58,   -59,
+     150,   199,   236,   372,   372,   238,   512,   513,   514,   242,
+     288,   239,   245,   553,   248,   249,   250,   251,   252,   253,
+     254,   255,   256,   257,   276,   420,   277,   453,   454,   455,
+     456,   278,   279,   280,   458,   459,   289,   461,   372,   290,
+     372,   291,   292,   372,   293,   296,   302,   386,   337,   372,
+     372,   333,   338,   298,   438,   298,   298,   298,   359,   387,
+     444,   298,   388,   389,   390,   394,   391,   395,   405,   406,
+     407,   484,   485,   408,   372,   372,   414,   372,   372,   412,
+     460,  -169,   372,   374,   375,   410,   376,   416,   413,   415,
+     372,   417,   423,   384,   457,     1,   426,     2,     3,   427,
+     436,   392,   393,   442,     4,     5,   443,   448,   449,   519,
+     372,   520,   521,   465,   483,   450,   463,   298,   372,   467,
+     468,   464,   469,     6,   470,   473,   482,   525,   432,   498,
+       7,   538,   471,   451,     8,   503,   475,   477,   478,   479,
+     487,   489,   495,   298,   298,   298,   488,   372,   503,   490,
+     491,   492,   372,   500,   494,   507,   511,   526,   517,   531,
+     428,   429,   430,   518,   540,   527,   372,   372,   435,   534,
+     535,   372,   536,   549,   372,   556,   547,   559,   560,   446,
+     447,   565,   561,   564,   567,    59,    60,   227,   103,   111,
+     112,   113,    65,   228,     1,   545,     2,   229,   230,   305,
+     259,   260,   495,   306,   128,   523,   329,  -168,   143,    37,
+     127,   140,    89,   537,   472,   515,   474,   434,     0,   476,
+      66,     1,     0,     2,     3,   480,   481,     0,     0,     0,
+       4,     5,     0,     0,    59,    60,     0,   103,    62,    63,
+      64,    65,     0,     1,     0,     2,     0,     0,     0,     6,
+     501,   502,     0,   505,   506,     0,     7,     0,   510,   132,
+       8,     0,     0,     0,     0,     0,   516,     0,     0,    66,
+     261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
+     271,   272,   273,   274,     0,     0,   528,    59,    60,     0,
+       0,     0,     0,     0,   532,     0,     1,     0,     2,     0,
+     151,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,   152,   153,     0,    67,     0,     0,    68,
+       0,     0,    69,   550,    70,   346,     0,     0,   554,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,   562,   563,     0,     0,     0,   566,     0,     0,
+     568,   154,   155,   156,   157,   158,   159,   160,   161,   162,
+     163,   164,   165,   166,   167,    67,     0,     0,    68,     0,
+       0,    69,     0,    70,     0,     0,     0,     0,    59,    60,
+       0,   103,    62,    63,    64,    65,     0,     1,     0,     2,
+     168,   169,   170,   171,   172,   173,   174,   175,   176,   177,
+     178,   179,   180,   328,   181,   182,   183,   184,     0,   185,
+     186,   187,     0,    66,     0,     0,     0,   107,     0,   108,
+       0,   188,     0,     0,   189,     0,   190,     0,   191,   360,
+     361,    59,    60,   362,     0,     0,     0,     0,     0,     0,
+       1,     0,     2,     0,   363,   364,   365,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,   366,   367,    59,
+      60,     0,   103,    62,    63,    64,    65,     0,     1,     0,
+       2,     0,     0,     0,     0,     0,    59,    60,   368,    61,
+      62,    63,    64,    65,   419,     1,     0,     2,     0,     0,
+       0,     0,     0,     0,    66,   154,   155,   156,   157,   158,
+     159,   160,   161,   162,   163,   164,   165,   166,   167,    67,
+       0,    66,    68,     0,     0,    69,     0,    70,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     368,   369,     0,    68,     0,     0,    69,     0,     0,    70,
-       0,    71,     0,     0,     0,     0,     0,     0,     0,    59,
-      60,   370,   104,   112,   113,   114,   115,    66,     0,     1,
-       0,     2,     0,     0,     0,     0,     0,     0,   156,   157,
-     158,   159,   160,   161,   162,   163,   164,   165,   166,   167,
-     168,   169,     0,     0,     0,    67,     0,     0,     0,     0,
-       0,     0,     0,     0,    59,    60,     0,   104,    62,    63,
-      64,    65,    66,     0,     1,     0,     2,   170,   171,   172,
-     173,   174,   175,   176,   177,   178,   179,   180,   181,   182,
-     330,   183,   184,   185,   186,     0,   187,   188,   189,     0,
-      67,     0,     0,     0,   108,     0,   109,     0,     0,     0,
-       0,   371,   362,   363,    59,    60,   364,     0,     0,     0,
-       0,     0,     0,     0,     1,     0,     2,     0,   365,   366,
-     367,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,   368,   369,     0,     0,     0,     0,     0,     0,     0,
-       0,    68,     0,     0,    69,     0,   283,    70,     0,    71,
-       0,     0,   370,     0,    59,    60,     0,    61,    62,    63,
-      64,    65,    66,     0,     1,     0,     2,     0,     0,   156,
-     157,   158,   159,   160,   161,   162,   163,   164,   165,   166,
-     167,   168,   169,     0,     0,     0,    68,     0,     0,    69,
-      67,     0,    70,     0,    71,   261,   262,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   170,   171,
-     172,   173,   174,   175,   176,   177,   178,   179,   180,   181,
-     182,     0,   183,   184,   185,   186,     0,   187,   188,   189,
-     362,   363,     0,     0,   364,     0,     0,     0,     0,     0,
-       0,     0,   371,     0,     0,     0,   365,   366,   367,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,   368,
-     369,     0,     0,     0,     0,   263,   264,   265,   266,   267,
-     268,   269,   270,   271,   272,   273,   274,   275,   276,     0,
-     370,     0,     0,     0,     0,     0,    68,     0,     0,    69,
-       0,     0,    70,     0,    71,     0,     0,   156,   157,   158,
-     159,   160,   161,   162,   163,   164,   165,   166,   167,   168,
-     169,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,    59,    60,     0,   104,    62,    63,    64,
-      65,    66,     0,     1,     0,     2,   170,   171,   172,   173,
-     174,   175,   176,   177,   178,   179,   180,   181,   182,   421,
-     183,   184,   185,   186,     0,   187,   188,   189,     0,    67,
-       0,    59,    60,     0,   104,    62,    63,    64,    65,    66,
-     371,     1,     0,     2,    59,    60,     0,   104,   112,   113,
-     114,   115,    66,     0,     1,     0,     2,   499,    59,    60,
-       0,   104,    62,    63,    64,    65,    66,    67,     1,     0,
-       2,    59,    60,     0,   202,    62,    63,    64,    65,    66,
-      67,     1,     0,     2,     0,    59,    60,     0,   104,   112,
-     113,   114,   115,    66,    67,     1,     0,     2,    59,    60,
-       0,   299,    62,    63,    64,    65,    66,    67,     1,     0,
+       0,     0,     0,     0,   168,   169,   170,   171,   172,   173,
+     174,   175,   176,   177,   178,   179,   180,     0,   181,   182,
+     183,   184,     0,   185,   186,   187,   360,   361,    59,    60,
+     362,   107,     0,   108,     0,     0,     0,     1,   369,     2,
+       0,   363,   364,   365,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,   366,   367,     0,     0,     0,     0,
+      67,     0,     0,    68,     0,     0,    69,     0,    70,     0,
+       0,     0,     0,     0,     0,   368,     0,    67,     0,     0,
+      68,     0,     0,    69,     0,    70,     0,     0,     0,     0,
+       0,     0,   154,   155,   156,   157,   158,   159,   160,   161,
+     162,   163,   164,   165,   166,   167,     0,     0,     0,    59,
+      60,     0,   103,   111,   112,   113,    65,     0,     1,     0,
        2,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,    67,     0,     0,     0,    68,     0,     0,    69,     0,
-       0,    70,     0,    71,    67,     0,     0,     0,     0,     0,
+       0,   168,   169,   170,   171,   172,   173,   174,   175,   176,
+     177,   178,   179,   180,    66,   181,   182,   183,   184,     0,
+     185,   186,   187,   360,   361,     0,     0,   362,     0,     0,
+       0,     0,     0,     0,     0,   369,     0,     0,   363,   364,
+     365,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,   366,   367,    59,    60,     0,   103,    62,    63,    64,
+      65,     0,     1,     0,     2,     0,     0,     0,     0,     0,
+      59,    60,   368,   103,    62,    63,    64,    65,   497,     1,
+       0,     2,     0,     0,     0,     0,     0,     0,    66,   154,
+     155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
+     165,   166,   167,     0,     0,    66,     0,     0,     0,     0,
+      67,     0,     0,    68,     0,     0,    69,     0,    70,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,   168,   169,
+     170,   171,   172,   173,   174,   175,   176,   177,   178,   179,
+     180,     0,   181,   182,   183,   184,     0,   185,   186,   187,
+      59,    60,     0,   200,    62,    63,    64,    65,     0,     1,
+       0,     2,   369,    59,    60,     0,   103,   111,   112,   113,
+      65,     0,     1,     0,     2,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,    67,    66,     0,    68,     0,     0,
+      69,     0,    70,     0,     0,     0,     0,     0,    66,     0,
+       0,    67,     0,     0,    68,     0,     0,    69,     0,    70,
+      59,    60,     0,   297,    62,    63,    64,    65,     0,     1,
+       0,     2,     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,     0,     0,
-       0,     0,     0,    68,     0,     0,    69,     0,     0,    70,
-       0,    71,     0,     0,     0,     0,    68,     0,     0,    69,
-       0,     0,    70,     0,    71,     0,     0,     0,     0,     0,
-      68,     0,     0,    69,     0,     0,    70,     0,    71,     0,
-       0,     0,     0,    68,   208,     0,    69,     0,     0,    70,
-       0,    71,     0,     0,     0,     0,     0,    68,     0,     0,
-      69,     0,     0,    70,     0,   286,   209,   210,     0,     0,
-      68,     0,     0,    69,     0,     0,    70,     0,    71,   211,
-     212,   213,   214,   215,   216,   156,   157,   158,   159,   160,
-     161,   162,   163,   164,   165,   166,   167,   217,   218,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,   219,
-     220,   221,     0,     0,   222,   171,   172,   173,   174,   175,
-     176,   177,   178,   179,   180,   181,   182,   223,   224,   184,
-     185,   186,   225,   226,   227,   228
+       0,     0,     0,     0,     0,     0,   206,     0,     0,     0,
+       0,    67,     0,     0,    68,     0,     0,    69,     0,    70,
+       0,     0,     0,     0,    67,     0,     0,    68,   207,   208,
+      69,     0,   284,     0,     0,     0,     0,     0,     0,     0,
+       0,   209,   210,   211,   212,   213,   214,   154,   155,   156,
+     157,   158,   159,   160,   161,   162,   163,   164,   165,   215,
+     216,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,    67,     0,     0,    68,     0,     0,    69,     0,    70,
+       0,   217,   218,   219,     0,     0,   220,   169,   170,   171,
+     172,   173,   174,   175,   176,   177,   178,   179,   180,   221,
+     222,   182,   183,   184,   223,   224,   225,   226
 };
 
-static const yytype_int16 yycheck[] =
+static const short int yycheck[] =
 {
-       0,   213,   310,   191,   192,    10,   118,    22,    10,    23,
-     221,    11,   247,   224,   225,   226,   227,   228,   214,     4,
-     231,   232,   332,    81,    10,   134,   336,    15,    10,    17,
-      53,   135,    16,    28,     5,     6,   306,    28,   234,    23,
-     111,   112,   146,   422,    15,   118,    17,    49,    19,   248,
-     249,    14,   110,     0,   324,   135,   134,    71,    49,   135,
-     131,    32,    33,    44,    45,    46,   146,    49,   140,   135,
-     146,    34,    35,    36,    37,    38,    39,    40,   144,    42,
-      33,    34,    63,   135,   135,    99,    86,   134,    41,   103,
-     134,   142,   144,   134,    47,   109,   134,   111,   286,    70,
-      71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
-      81,    82,    83,   127,    17,   326,   111,   112,    30,    17,
-     544,   500,   135,   111,   112,   139,   140,   135,     9,   143,
-     145,   555,    13,   146,   142,   133,   131,   142,   109,   110,
-     111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
-     121,   530,   123,   124,   125,   126,   142,   128,   129,   130,
-     145,   360,   146,    26,    27,   136,   474,   138,   476,   140,
-     133,   136,   143,   138,   145,    16,   147,   556,   389,   144,
-     391,   392,   393,   371,    20,    21,   397,   136,   136,   138,
-     138,   501,   140,   142,   135,     3,     4,   211,   139,   111,
-     112,    38,     4,    40,   204,   219,   220,   221,   222,   223,
-     224,   225,   226,   227,   228,   229,   230,   231,   232,   131,
-     278,   279,   280,   281,   282,    17,   240,   300,    17,   302,
-     303,   466,   305,   291,   292,   293,   294,   349,   548,   312,
-     550,   135,   453,   135,   136,   139,   138,   320,   321,     5,
-       6,   138,     8,     9,    10,    11,    12,    13,   136,    15,
-     138,    17,    34,    35,    36,    47,    48,    39,   479,   480,
-     481,   135,   286,     3,     4,   139,   349,   135,   136,     4,
-     138,   339,   340,     4,   136,    41,   138,   139,   346,    15,
-     141,    17,   306,   307,   308,   107,   108,   532,   111,   112,
-     535,    77,    78,   141,     7,     7,   379,   380,   381,     7,
-     324,   325,   326,     4,   387,   135,    17,   529,   139,   144,
-       0,   139,   138,   138,   138,   398,   399,   138,   138,    17,
-     135,   138,   138,   545,   138,    15,    51,    17,    18,   138,
-      10,   144,   138,   138,    24,    25,    30,   361,   138,   407,
-     408,   409,   410,   144,   135,   135,   414,   415,   135,   417,
-     433,   135,   435,    43,   135,   438,   135,   135,   135,   135,
-      50,   444,   445,   135,    54,   389,   390,   391,   392,   393,
-     135,   137,   396,   397,   140,   135,   135,   143,    30,   145,
-     146,   135,     0,   451,   452,    17,   469,   470,     4,   472,
-     473,    55,   416,   135,   477,   302,   303,    15,   305,    17,
-      18,   135,   485,   140,    17,   312,    24,    25,   135,   135,
-     139,   135,   135,   320,   321,   135,   144,   135,    13,    13,
-     135,   489,   505,   491,   492,    43,   450,     4,   138,   453,
-     513,   135,    50,   135,   139,   135,    54,    17,   135,   135,
-     135,   465,    49,   135,   135,   138,   135,   471,    49,    13,
-     135,   139,   139,   139,   464,   479,   480,   481,   135,   542,
-     484,   135,   135,   139,   547,    56,    57,    58,    59,    60,
-      61,    62,   379,   380,   381,   140,   139,   139,   561,   562,
-     387,   142,   139,   566,   139,     4,   569,   135,   142,    13,
-      13,   398,   399,     5,     6,   135,     8,     9,    10,    11,
-      12,    13,    13,    15,    13,    17,    68,   531,   130,   130,
-     130,   130,     5,     6,   524,     8,     9,    10,    11,    12,
-      13,    86,    15,   501,    17,   109,   433,   103,   435,    41,
-      11,   438,    83,   217,   240,   218,   524,   444,   445,     5,
-       6,   484,     8,     9,    10,    11,    12,    13,    41,    15,
-      50,    17,    84,    85,    86,    87,    88,    89,    90,    91,
-      92,    93,   469,   470,    -1,   472,   473,   386,    -1,    -1,
-     477,    -1,    -1,    -1,    -1,    41,    -1,    -1,   485,    -1,
-      -1,     5,     6,    -1,     8,     9,    10,    11,    12,    13,
-      -1,    15,    -1,    17,    -1,    -1,    -1,    -1,   505,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,   513,    31,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    41,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,   137,    -1,    -1,   140,    -1,
-      -1,   143,    -1,   145,   146,   542,    -1,    -1,    -1,    -1,
-     547,    -1,    -1,    -1,   137,    -1,    -1,   140,    -1,    -1,
-     143,    -1,   145,   146,   561,   562,    -1,    -1,    -1,   566,
-      -1,    -1,   569,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,   137,    -1,    -1,   140,    -1,    -1,   143,    -1,   145,
-     146,     3,     4,     5,     6,     7,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    15,    -1,    17,    -1,    19,    20,    21,
+       0,   211,   189,   190,   116,   308,     9,     4,   420,    23,
+     245,    11,     5,     6,    21,     8,     9,    10,    11,    12,
+     212,    14,    80,    16,     9,   330,   133,     5,     6,   334,
+       8,     9,    10,    11,    12,    15,    14,    27,    16,    37,
+     232,    39,    22,   116,     9,   246,   247,    40,    14,   304,
+      16,   109,     9,   134,     5,     6,    70,     8,     9,    10,
+      11,    12,    40,    14,   145,    16,    27,   322,   219,   134,
+     134,   222,   223,   224,   225,   226,   141,     0,   229,   230,
+      13,   145,    52,    48,    98,    85,   498,    48,   102,    40,
+     133,    48,   110,   111,   108,    29,   110,   284,     3,     4,
+      33,    34,    35,    36,    37,    38,    39,   134,    41,   134,
+     134,   125,   130,   138,    19,    20,   528,   133,   145,   143,
+     110,   111,   134,   137,   138,     5,     6,   141,     8,     9,
+      10,    11,    12,   145,    14,   139,    16,   144,   141,   542,
+     130,   133,   554,   136,   110,   111,   139,   144,    16,   142,
+     553,   144,   145,    43,    44,    45,   141,   358,   136,   134,
+      40,   139,    15,   134,   142,   145,   144,   145,   143,   472,
+     141,   474,    62,   324,    25,    26,   110,   111,    33,    34,
+     133,   135,   369,   137,     9,   136,    41,    12,   139,   143,
+     141,   142,    47,   144,   499,   209,   130,   134,    14,   132,
+      16,   138,   202,   217,   218,   219,   220,   221,   222,   223,
+     224,   225,   226,   227,   228,   229,   230,   133,   276,   277,
+     278,   279,   280,   132,   238,   298,    16,   300,   301,   464,
+     303,   289,   290,   291,   292,   347,   387,   310,   389,   390,
+     391,   546,    16,   548,   395,   318,   319,    55,    56,    57,
+      58,    59,    60,    61,    46,    47,   136,   134,   135,   139,
+     137,   135,   142,   137,   144,   145,   135,   141,   137,   138,
+     284,    33,    34,    35,   347,   135,    38,   137,   134,   337,
+     338,   135,   138,   137,     4,   139,   344,     3,     4,    16,
+     304,   305,   306,   134,   135,   530,   137,   137,   533,     4,
+     451,   106,   107,     4,   377,   378,   379,   140,   322,   323,
+     324,   140,   385,   110,   111,    76,    77,   527,     7,     7,
+       7,     4,    16,   396,   397,   134,   477,   478,   479,   143,
+      16,   138,   138,   543,    83,    84,    85,    86,    87,    88,
+      89,    90,    91,    92,   137,   359,   137,   405,   406,   407,
+     408,   137,   137,   137,   412,   413,   137,   415,   431,   137,
+     433,   137,   137,   436,   134,    50,     9,   134,   137,   442,
+     443,   143,   137,   387,   388,   389,   390,   391,   137,   134,
+     394,   395,   134,   134,   134,    29,   134,   134,   134,   134,
+     134,   449,   450,   134,   467,   468,    29,   470,   471,   134,
+     414,     0,   475,   300,   301,   143,   303,    16,   134,   134,
+     483,     4,    54,   310,   143,    14,   134,    16,    17,   134,
+     139,   318,   319,   134,    23,    24,   134,   134,   134,   487,
+     503,   489,   490,    16,   448,   134,   134,   451,   511,    12,
+      12,   138,   137,    42,   134,     4,   137,    16,    48,   463,
+      49,    48,   134,   134,    53,   469,   134,   134,   134,   134,
+     134,   134,   462,   477,   478,   479,   138,   540,   482,   134,
+     138,   138,   545,   134,   138,   134,   134,   134,   138,   141,
+     377,   378,   379,   138,    12,   139,   559,   560,   385,   138,
+     138,   564,   138,     4,   567,   134,   141,    12,    12,   396,
+     397,    67,   134,    12,    12,     5,     6,   128,     8,     9,
+      10,    11,    12,   128,    14,   529,    16,   128,   128,   215,
+      19,    20,   522,   216,    85,   499,   238,     0,   108,    11,
+      82,   102,    50,   522,   431,   482,   433,   384,    -1,   436,
+      40,    14,    -1,    16,    17,   442,   443,    -1,    -1,    -1,
+      23,    24,    -1,    -1,     5,     6,    -1,     8,     9,    10,
+      11,    12,    -1,    14,    -1,    16,    -1,    -1,    -1,    42,
+     467,   468,    -1,   470,   471,    -1,    49,    -1,   475,    30,
+      53,    -1,    -1,    -1,    -1,    -1,   483,    -1,    -1,    40,
+      89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
+      99,   100,   101,   102,    -1,    -1,   503,     5,     6,    -1,
+      -1,    -1,    -1,    -1,   511,    -1,    14,    -1,    16,    -1,
+      18,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    31,    32,    -1,   136,    -1,    -1,   139,
+      -1,    -1,   142,   540,   144,   145,    -1,    -1,   545,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      32,    33,    -1,   137,    -1,    -1,   140,    -1,    -1,   143,
-      -1,   145,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     5,
-       6,    53,     8,     9,    10,    11,    12,    13,    -1,    15,
-      -1,    17,    -1,    -1,    -1,    -1,    -1,    -1,    70,    71,
-      72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
-      82,    83,    -1,    -1,    -1,    41,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,     5,     6,    -1,     8,     9,    10,
-      11,    12,    13,    -1,    15,    -1,    17,   109,   110,   111,
-     112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
-      31,   123,   124,   125,   126,    -1,   128,   129,   130,    -1,
-      41,    -1,    -1,    -1,   136,    -1,   138,    -1,    -1,    -1,
-      -1,   143,     3,     4,     5,     6,     7,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    15,    -1,    17,    -1,    19,    20,
-      21,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    32,    33,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,   137,    -1,    -1,   140,    -1,   142,   143,    -1,   145,
-      -1,    -1,    53,    -1,     5,     6,    -1,     8,     9,    10,
-      11,    12,    13,    -1,    15,    -1,    17,    -1,    -1,    70,
-      71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
-      81,    82,    83,    -1,    -1,    -1,   137,    -1,    -1,   140,
-      41,    -1,   143,    -1,   145,    20,    21,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,   110,
-     111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
-     121,    -1,   123,   124,   125,   126,    -1,   128,   129,   130,
-       3,     4,    -1,    -1,     7,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,   143,    -1,    -1,    -1,    19,    20,    21,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    32,
-      33,    -1,    -1,    -1,    -1,    90,    91,    92,    93,    94,
-      95,    96,    97,    98,    99,   100,   101,   102,   103,    -1,
-      53,    -1,    -1,    -1,    -1,    -1,   137,    -1,    -1,   140,
-      -1,    -1,   143,    -1,   145,    -1,    -1,    70,    71,    72,
-      73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
-      83,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,     5,     6,    -1,     8,     9,    10,    11,
-      12,    13,    -1,    15,    -1,    17,   109,   110,   111,   112,
-     113,   114,   115,   116,   117,   118,   119,   120,   121,    31,
-     123,   124,   125,   126,    -1,   128,   129,   130,    -1,    41,
-      -1,     5,     6,    -1,     8,     9,    10,    11,    12,    13,
-     143,    15,    -1,    17,     5,     6,    -1,     8,     9,    10,
-      11,    12,    13,    -1,    15,    -1,    17,    31,     5,     6,
-      -1,     8,     9,    10,    11,    12,    13,    41,    15,    -1,
-      17,     5,     6,    -1,     8,     9,    10,    11,    12,    13,
-      41,    15,    -1,    17,    -1,     5,     6,    -1,     8,     9,
-      10,    11,    12,    13,    41,    15,    -1,    17,     5,     6,
-      -1,     8,     9,    10,    11,    12,    13,    41,    15,    -1,
-      17,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    41,    -1,    -1,    -1,   137,    -1,    -1,   140,    -1,
-      -1,   143,    -1,   145,    41,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,   559,   560,    -1,    -1,    -1,   564,    -1,    -1,
+     567,    69,    70,    71,    72,    73,    74,    75,    76,    77,
+      78,    79,    80,    81,    82,   136,    -1,    -1,   139,    -1,
+      -1,   142,    -1,   144,    -1,    -1,    -1,    -1,     5,     6,
+      -1,     8,     9,    10,    11,    12,    -1,    14,    -1,    16,
+     108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
+     118,   119,   120,    30,   122,   123,   124,   125,    -1,   127,
+     128,   129,    -1,    40,    -1,    -1,    -1,   135,    -1,   137,
+      -1,   139,    -1,    -1,   142,    -1,   144,    -1,   146,     3,
+       4,     5,     6,     7,    -1,    -1,    -1,    -1,    -1,    -1,
+      14,    -1,    16,    -1,    18,    19,    20,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    31,    32,     5,
+       6,    -1,     8,     9,    10,    11,    12,    -1,    14,    -1,
+      16,    -1,    -1,    -1,    -1,    -1,     5,     6,    52,     8,
+       9,    10,    11,    12,    30,    14,    -1,    16,    -1,    -1,
+      -1,    -1,    -1,    -1,    40,    69,    70,    71,    72,    73,
+      74,    75,    76,    77,    78,    79,    80,    81,    82,   136,
+      -1,    40,   139,    -1,    -1,   142,    -1,   144,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,   108,   109,   110,   111,   112,   113,
+     114,   115,   116,   117,   118,   119,   120,    -1,   122,   123,
+     124,   125,    -1,   127,   128,   129,     3,     4,     5,     6,
+       7,   135,    -1,   137,    -1,    -1,    -1,    14,   142,    16,
+      -1,    18,    19,    20,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    31,    32,    -1,    -1,    -1,    -1,
+     136,    -1,    -1,   139,    -1,    -1,   142,    -1,   144,    -1,
+      -1,    -1,    -1,    -1,    -1,    52,    -1,   136,    -1,    -1,
+     139,    -1,    -1,   142,    -1,   144,    -1,    -1,    -1,    -1,
+      -1,    -1,    69,    70,    71,    72,    73,    74,    75,    76,
+      77,    78,    79,    80,    81,    82,    -1,    -1,    -1,     5,
+       6,    -1,     8,     9,    10,    11,    12,    -1,    14,    -1,
+      16,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,   108,   109,   110,   111,   112,   113,   114,   115,   116,
+     117,   118,   119,   120,    40,   122,   123,   124,   125,    -1,
+     127,   128,   129,     3,     4,    -1,    -1,     7,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,   142,    -1,    -1,    18,    19,
+      20,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    31,    32,     5,     6,    -1,     8,     9,    10,    11,
+      12,    -1,    14,    -1,    16,    -1,    -1,    -1,    -1,    -1,
+       5,     6,    52,     8,     9,    10,    11,    12,    30,    14,
+      -1,    16,    -1,    -1,    -1,    -1,    -1,    -1,    40,    69,
+      70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
+      80,    81,    82,    -1,    -1,    40,    -1,    -1,    -1,    -1,
+     136,    -1,    -1,   139,    -1,    -1,   142,    -1,   144,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   108,   109,
+     110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
+     120,    -1,   122,   123,   124,   125,    -1,   127,   128,   129,
+       5,     6,    -1,     8,     9,    10,    11,    12,    -1,    14,
+      -1,    16,   142,     5,     6,    -1,     8,     9,    10,    11,
+      12,    -1,    14,    -1,    16,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,   136,    40,    -1,   139,    -1,    -1,
+     142,    -1,   144,    -1,    -1,    -1,    -1,    -1,    40,    -1,
+      -1,   136,    -1,    -1,   139,    -1,    -1,   142,    -1,   144,
+       5,     6,    -1,     8,     9,    10,    11,    12,    -1,    14,
+      -1,    16,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,   137,    -1,    -1,   140,    -1,    -1,   143,
-      -1,   145,    -1,    -1,    -1,    -1,   137,    -1,    -1,   140,
-      -1,    -1,   143,    -1,   145,    -1,    -1,    -1,    -1,    -1,
-     137,    -1,    -1,   140,    -1,    -1,   143,    -1,   145,    -1,
-      -1,    -1,    -1,   137,    29,    -1,   140,    -1,    -1,   143,
-      -1,   145,    -1,    -1,    -1,    -1,    -1,   137,    -1,    -1,
-     140,    -1,    -1,   143,    -1,   145,    51,    52,    -1,    -1,
-     137,    -1,    -1,   140,    -1,    -1,   143,    -1,   145,    64,
-      65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
-      75,    76,    77,    78,    79,    80,    81,    82,    83,    -1,
+      -1,    -1,    -1,    -1,    -1,    40,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   104,
-     105,   106,    -1,    -1,   109,   110,   111,   112,   113,   114,
-     115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
-     125,   126,   127,   128,   129,   130
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    28,    -1,    -1,    -1,
+      -1,   136,    -1,    -1,   139,    -1,    -1,   142,    -1,   144,
+      -1,    -1,    -1,    -1,   136,    -1,    -1,   139,    50,    51,
+     142,    -1,   144,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    63,    64,    65,    66,    67,    68,    69,    70,    71,
+      72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
+      82,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,   136,    -1,    -1,   139,    -1,    -1,   142,    -1,   144,
+      -1,   103,   104,   105,    -1,    -1,   108,   109,   110,   111,
+     112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
+     122,   123,   124,   125,   126,   127,   128,   129
 };
 
 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
    symbol of state STATE-NUM.  */
-static const yytype_uint8 yystos[] =
+static const unsigned char yystos[] =
 {
-       0,    15,    17,    18,    24,    25,    43,    50,    54,   158,
-     186,   187,   188,   199,   190,   189,    44,    45,    46,    63,
-     196,   134,    53,    14,    34,    35,    36,    37,    38,    39,
-      40,    42,   133,   159,   160,   161,     0,   188,   134,    38,
-      40,   162,   208,    34,    35,    36,    39,   163,   205,   207,
-     214,   134,   134,   134,   134,   140,   197,    17,   194,     5,
-       6,     8,     9,    10,    11,    12,    13,    41,   137,   140,
-     143,   145,   149,   175,   176,   199,   211,   161,   161,    26,
-      27,   185,   161,   161,    16,   215,   216,    23,   146,   206,
-     215,    17,    47,    48,   195,     4,    17,    17,   198,   138,
-       4,     4,     4,   145,     8,   146,   176,   181,   136,   138,
-     185,   185,     9,    10,    11,    12,   156,   157,   176,   182,
-      56,    57,    58,    59,    60,    61,    62,   164,   203,   203,
-     158,   219,   135,   142,    31,   176,   177,   179,   180,   141,
-     141,   146,   181,   135,   146,   180,   182,   176,    20,    21,
-       3,     4,     7,    19,    32,    33,    70,    71,    72,    73,
-      74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
-     109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
-     119,   120,   121,   123,   124,   125,   126,   128,   129,   130,
-     140,   143,   145,   147,   150,   151,   152,   153,   183,   211,
-     191,     4,     8,   176,   178,    22,   145,   204,    29,    51,
-      52,    64,    65,    66,    67,    68,    69,    82,    83,   104,
-     105,   106,   109,   122,   123,   127,   128,   129,   130,   150,
-     151,   152,   153,   217,   223,   224,   225,   226,    17,   166,
-     135,   139,   176,   176,   144,   146,   176,   139,   192,   193,
-      84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
-     154,    20,    21,    90,    91,    92,    93,    94,    95,    96,
-      97,    98,    99,   100,   101,   102,   103,   155,   138,   138,
-     138,   138,   138,   142,   182,   184,   145,   184,   146,   184,
-      17,   138,   138,   138,   138,   135,   173,   199,    51,     8,
-     176,   213,     9,    13,    10,   156,   164,   154,   155,   176,
-     176,   213,   176,   176,   220,   213,   213,   213,   213,   213,
-     176,   176,   213,   213,   164,   107,   108,   111,   112,   165,
-      31,   177,   168,   142,   144,   144,   168,   173,   173,   138,
-     138,   182,   182,   182,   182,   182,   135,   142,   146,   176,
-     184,   144,   146,   182,   182,   182,   182,    28,    49,   171,
-     174,   138,     3,     4,     7,    19,    20,    21,    32,    33,
-      53,   143,   183,   210,   211,   212,   212,   212,   212,   178,
-     176,   176,   135,   170,   135,   170,   212,   140,   135,   135,
-     135,   135,   135,   135,   212,   212,    30,   135,   178,   176,
-     213,   131,   165,   167,   182,   182,   222,   135,   135,   135,
-     135,   182,   144,   146,   135,   135,    30,   135,    17,     4,
-     173,    31,   176,   201,   202,    55,   209,   184,   135,   135,
-     212,   212,   212,    10,    49,    10,   222,   212,   140,   213,
-     176,   213,   213,   213,   135,   135,   176,   213,   212,   212,
-     135,   135,   135,   135,   139,   182,   182,   182,   182,   144,
-     182,   182,   176,   182,   166,   135,   139,    17,   144,    13,
-      13,   138,   135,   135,   212,     4,   212,   135,   212,   135,
-     135,   135,   212,   212,   138,   176,   182,   182,   213,   135,
-     139,   135,   135,   139,   139,   139,   139,   199,   200,    31,
-     176,   168,   135,   212,   212,   176,   221,   212,   212,   135,
-     170,   170,   212,   135,   213,   213,   213,   221,   212,   139,
-     139,   182,   182,   182,   166,   171,   172,    17,   135,   140,
-     212,   135,   139,   142,   212,   139,   139,   139,   139,   200,
-      49,   169,    13,   142,   156,   218,   166,   176,   168,   142,
-     168,     4,   212,   210,   142,   156,   212,    30,   135,   210,
-     166,    13,    13,   135,   212,   212,    13,    68,   212,    13,
-     212
+       0,    14,    16,    17,    23,    24,    42,    49,    53,   157,
+     185,   186,   187,   198,   189,   188,    43,    44,    45,    62,
+     195,   133,    52,    13,    33,    34,    35,    36,    37,    38,
+      39,    41,   132,   158,   159,   160,     0,   187,   133,    37,
+      39,   161,   207,    33,    34,    35,    38,   162,   204,   206,
+     213,   133,   133,   133,   133,   139,   196,    16,   193,     5,
+       6,     8,     9,    10,    11,    12,    40,   136,   139,   142,
+     144,   148,   174,   175,   198,   210,   160,   160,    25,    26,
+     184,   160,   160,    15,   214,   215,    22,   145,   205,   214,
+      16,    46,    47,   194,     4,    16,    16,   197,   137,     4,
+       4,     4,   144,     8,   145,   175,   180,   135,   137,   184,
+     184,     9,    10,    11,   155,   156,   175,   181,    55,    56,
+      57,    58,    59,    60,    61,   163,   202,   202,   157,   218,
+     134,   141,    30,   175,   176,   178,   179,   140,   140,   145,
+     180,   134,   145,   179,   181,   175,    19,    20,     3,     4,
+       7,    18,    31,    32,    69,    70,    71,    72,    73,    74,
+      75,    76,    77,    78,    79,    80,    81,    82,   108,   109,
+     110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
+     120,   122,   123,   124,   125,   127,   128,   129,   139,   142,
+     144,   146,   149,   150,   151,   152,   182,   210,   190,     4,
+       8,   175,   177,    21,   144,   203,    28,    50,    51,    63,
+      64,    65,    66,    67,    68,    81,    82,   103,   104,   105,
+     108,   121,   122,   126,   127,   128,   129,   149,   150,   151,
+     152,   216,   222,   223,   224,   225,    16,   165,   134,   138,
+     175,   175,   143,   145,   175,   138,   191,   192,    83,    84,
+      85,    86,    87,    88,    89,    90,    91,    92,   153,    19,
+      20,    89,    90,    91,    92,    93,    94,    95,    96,    97,
+      98,    99,   100,   101,   102,   154,   137,   137,   137,   137,
+     137,   141,   181,   183,   144,   183,   145,   183,    16,   137,
+     137,   137,   137,   134,   172,   198,    50,     8,   175,   212,
+       9,    12,     9,   155,   163,   153,   154,   175,   175,   212,
+     175,   175,   219,   212,   212,   212,   212,   212,   175,   175,
+     212,   212,   163,   106,   107,   110,   111,   164,    30,   176,
+     167,   141,   143,   143,   167,   172,   172,   137,   137,   181,
+     181,   181,   181,   181,   134,   141,   145,   175,   183,   143,
+     145,   181,   181,   181,   181,    27,    48,   170,   173,   137,
+       3,     4,     7,    18,    19,    20,    31,    32,    52,   142,
+     182,   209,   210,   211,   211,   211,   211,   177,   175,   175,
+     134,   169,   134,   169,   211,   139,   134,   134,   134,   134,
+     134,   134,   211,   211,    29,   134,   177,   175,   212,   130,
+     164,   166,   181,   181,   221,   134,   134,   134,   134,   181,
+     143,   145,   134,   134,    29,   134,    16,     4,   172,    30,
+     175,   200,   201,    54,   208,   183,   134,   134,   211,   211,
+     211,     9,    48,     9,   221,   211,   139,   212,   175,   212,
+     212,   212,   134,   134,   175,   212,   211,   211,   134,   134,
+     134,   134,   138,   181,   181,   181,   181,   143,   181,   181,
+     175,   181,   165,   134,   138,    16,   143,    12,    12,   137,
+     134,   134,   211,     4,   211,   134,   211,   134,   134,   134,
+     211,   211,   137,   175,   181,   181,   212,   134,   138,   134,
+     134,   138,   138,   138,   138,   198,   199,    30,   175,   167,
+     134,   211,   211,   175,   220,   211,   211,   134,   169,   169,
+     211,   134,   212,   212,   212,   220,   211,   138,   138,   181,
+     181,   181,   165,   170,   171,    16,   134,   139,   211,   134,
+     138,   141,   211,   138,   138,   138,   138,   199,    48,   168,
+      12,   141,   155,   217,   165,   175,   167,   141,   167,     4,
+     211,   209,   141,   155,   211,    29,   134,   209,   165,    12,
+      12,   134,   211,   211,    12,    67,   211,    12,   211
 };
 
 #define yyerrok		(yyerrstatus = 0)
@@ -2409,7 +2326,7 @@
       yychar = (Token);						\
       yylval = (Value);						\
       yytoken = YYTRANSLATE (yychar);				\
-      YYPOPSTACK (1);						\
+      YYPOPSTACK;						\
       goto yybackup;						\
     }								\
   else								\
@@ -2417,7 +2334,7 @@
       yyerror (YY_("syntax error: cannot back up")); \
       YYERROR;							\
     }								\
-while (YYID (0))
+while (0)
 
 
 #define YYTERROR	1
@@ -2432,7 +2349,7 @@
 #ifndef YYLLOC_DEFAULT
 # define YYLLOC_DEFAULT(Current, Rhs, N)				\
     do									\
-      if (YYID (N))                                                    \
+      if (N)								\
 	{								\
 	  (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;	\
 	  (Current).first_column = YYRHSLOC (Rhs, 1).first_column;	\
@@ -2446,7 +2363,7 @@
 	  (Current).first_column = (Current).last_column =		\
 	    YYRHSLOC (Rhs, 0).last_column;				\
 	}								\
-    while (YYID (0))
+    while (0)
 #endif
 
 
@@ -2458,8 +2375,8 @@
 # if YYLTYPE_IS_TRIVIAL
 #  define YY_LOCATION_PRINT(File, Loc)			\
      fprintf (File, "%d.%d-%d.%d",			\
-	      (Loc).first_line, (Loc).first_column,	\
-	      (Loc).last_line,  (Loc).last_column)
+              (Loc).first_line, (Loc).first_column,	\
+              (Loc).last_line,  (Loc).last_column)
 # else
 #  define YY_LOCATION_PRINT(File, Loc) ((void) 0)
 # endif
@@ -2486,96 +2403,36 @@
 do {						\
   if (yydebug)					\
     YYFPRINTF Args;				\
-} while (YYID (0))
-
-# define YY_SYMBOL_PRINT(Title, Type, Value, Location)			  \
-do {									  \
-  if (yydebug)								  \
-    {									  \
-      YYFPRINTF (stderr, "%s ", Title);					  \
-      yy_symbol_print (stderr,						  \
-		  Type, Value); \
-      YYFPRINTF (stderr, "\n");						  \
-    }									  \
-} while (YYID (0))
-
-
-/*--------------------------------.
-| Print this symbol on YYOUTPUT.  |
-`--------------------------------*/
-
-/*ARGSUSED*/
-#if (defined __STDC__ || defined __C99__FUNC__ \
-     || defined __cplusplus || defined _MSC_VER)
-static void
-yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
-#else
-static void
-yy_symbol_value_print (yyoutput, yytype, yyvaluep)
-    FILE *yyoutput;
-    int yytype;
-    YYSTYPE const * const yyvaluep;
-#endif
-{
-  if (!yyvaluep)
-    return;
-# ifdef YYPRINT
-  if (yytype < YYNTOKENS)
-    YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
-# else
-  YYUSE (yyoutput);
-# endif
-  switch (yytype)
-    {
-      default:
-	break;
-    }
-}
-
-
-/*--------------------------------.
-| Print this symbol on YYOUTPUT.  |
-`--------------------------------*/
-
-#if (defined __STDC__ || defined __C99__FUNC__ \
-     || defined __cplusplus || defined _MSC_VER)
-static void
-yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
-#else
-static void
-yy_symbol_print (yyoutput, yytype, yyvaluep)
-    FILE *yyoutput;
-    int yytype;
-    YYSTYPE const * const yyvaluep;
-#endif
-{
-  if (yytype < YYNTOKENS)
-    YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
-  else
-    YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
+} while (0)
 
-  yy_symbol_value_print (yyoutput, yytype, yyvaluep);
-  YYFPRINTF (yyoutput, ")");
-}
+# define YY_SYMBOL_PRINT(Title, Type, Value, Location)		\
+do {								\
+  if (yydebug)							\
+    {								\
+      YYFPRINTF (stderr, "%s ", Title);				\
+      yysymprint (stderr,					\
+                  Type, Value);	\
+      YYFPRINTF (stderr, "\n");					\
+    }								\
+} while (0)
 
 /*------------------------------------------------------------------.
 | yy_stack_print -- Print the state stack from its BOTTOM up to its |
 | TOP (included).                                                   |
 `------------------------------------------------------------------*/
 
-#if (defined __STDC__ || defined __C99__FUNC__ \
-     || defined __cplusplus || defined _MSC_VER)
+#if defined (__STDC__) || defined (__cplusplus)
 static void
-yy_stack_print (yytype_int16 *bottom, yytype_int16 *top)
+yy_stack_print (short int *bottom, short int *top)
 #else
 static void
 yy_stack_print (bottom, top)
-    yytype_int16 *bottom;
-    yytype_int16 *top;
+    short int *bottom;
+    short int *top;
 #endif
 {
   YYFPRINTF (stderr, "Stack now");
-  for (; bottom <= top; ++bottom)
+  for (/* Nothing. */; bottom <= top; ++bottom)
     YYFPRINTF (stderr, " %d", *bottom);
   YYFPRINTF (stderr, "\n");
 }
@@ -2584,45 +2441,37 @@
 do {								\
   if (yydebug)							\
     yy_stack_print ((Bottom), (Top));				\
-} while (YYID (0))
+} while (0)
 
 
 /*------------------------------------------------.
 | Report that the YYRULE is going to be reduced.  |
 `------------------------------------------------*/
 
-#if (defined __STDC__ || defined __C99__FUNC__ \
-     || defined __cplusplus || defined _MSC_VER)
+#if defined (__STDC__) || defined (__cplusplus)
 static void
-yy_reduce_print (YYSTYPE *yyvsp, int yyrule)
+yy_reduce_print (int yyrule)
 #else
 static void
-yy_reduce_print (yyvsp, yyrule)
-    YYSTYPE *yyvsp;
+yy_reduce_print (yyrule)
     int yyrule;
 #endif
 {
-  int yynrhs = yyr2[yyrule];
   int yyi;
   unsigned long int yylno = yyrline[yyrule];
-  YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
-	     yyrule - 1, yylno);
-  /* The symbols being reduced.  */
-  for (yyi = 0; yyi < yynrhs; yyi++)
-    {
-      fprintf (stderr, "   $%d = ", yyi + 1);
-      yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
-		       &(yyvsp[(yyi + 1) - (yynrhs)])
-		       		       );
-      fprintf (stderr, "\n");
-    }
+  YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu), ",
+             yyrule - 1, yylno);
+  /* Print the symbols being reduced, and their result.  */
+  for (yyi = yyprhs[yyrule]; 0 <= yyrhs[yyi]; yyi++)
+    YYFPRINTF (stderr, "%s ", yytname[yyrhs[yyi]]);
+  YYFPRINTF (stderr, "-> %s\n", yytname[yyr1[yyrule]]);
 }
 
 # define YY_REDUCE_PRINT(Rule)		\
 do {					\
   if (yydebug)				\
-    yy_reduce_print (yyvsp, Rule); \
-} while (YYID (0))
+    yy_reduce_print (Rule);		\
+} while (0)
 
 /* Nonzero means print parse trace.  It is left uninitialized so that
    multiple parsers can coexist.  */
@@ -2656,44 +2505,42 @@
 #if YYERROR_VERBOSE
 
 # ifndef yystrlen
-#  if defined __GLIBC__ && defined _STRING_H
+#  if defined (__GLIBC__) && defined (_STRING_H)
 #   define yystrlen strlen
 #  else
 /* Return the length of YYSTR.  */
-#if (defined __STDC__ || defined __C99__FUNC__ \
-     || defined __cplusplus || defined _MSC_VER)
 static YYSIZE_T
+#   if defined (__STDC__) || defined (__cplusplus)
 yystrlen (const char *yystr)
-#else
-static YYSIZE_T
+#   else
 yystrlen (yystr)
-    const char *yystr;
-#endif
+     const char *yystr;
+#   endif
 {
-  YYSIZE_T yylen;
-  for (yylen = 0; yystr[yylen]; yylen++)
+  const char *yys = yystr;
+
+  while (*yys++ != '\0')
     continue;
-  return yylen;
+
+  return yys - yystr - 1;
 }
 #  endif
 # endif
 
 # ifndef yystpcpy
-#  if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
+#  if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE)
 #   define yystpcpy stpcpy
 #  else
 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
    YYDEST.  */
-#if (defined __STDC__ || defined __C99__FUNC__ \
-     || defined __cplusplus || defined _MSC_VER)
 static char *
+#   if defined (__STDC__) || defined (__cplusplus)
 yystpcpy (char *yydest, const char *yysrc)
-#else
-static char *
+#   else
 yystpcpy (yydest, yysrc)
-    char *yydest;
-    const char *yysrc;
-#endif
+     char *yydest;
+     const char *yysrc;
+#   endif
 {
   char *yyd = yydest;
   const char *yys = yysrc;
@@ -2719,7 +2566,7 @@
 {
   if (*yystr == '"')
     {
-      YYSIZE_T yyn = 0;
+      size_t yyn = 0;
       char const *yyp = yystr;
 
       for (;;)
@@ -2754,123 +2601,53 @@
 }
 # endif
 
-/* Copy into YYRESULT an error message about the unexpected token
-   YYCHAR while in state YYSTATE.  Return the number of bytes copied,
-   including the terminating null byte.  If YYRESULT is null, do not
-   copy anything; just return the number of bytes that would be
-   copied.  As a special case, return 0 if an ordinary "syntax error"
-   message will do.  Return YYSIZE_MAXIMUM if overflow occurs during
-   size calculation.  */
-static YYSIZE_T
-yysyntax_error (char *yyresult, int yystate, int yychar)
-{
-  int yyn = yypact[yystate];
+#endif /* YYERROR_VERBOSE */
 
-  if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
-    return 0;
-  else
-    {
-      int yytype = YYTRANSLATE (yychar);
-      YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
-      YYSIZE_T yysize = yysize0;
-      YYSIZE_T yysize1;
-      int yysize_overflow = 0;
-      enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
-      char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
-      int yyx;
-
-# if 0
-      /* This is so xgettext sees the translatable formats that are
-	 constructed on the fly.  */
-      YY_("syntax error, unexpected %s");
-      YY_("syntax error, unexpected %s, expecting %s");
-      YY_("syntax error, unexpected %s, expecting %s or %s");
-      YY_("syntax error, unexpected %s, expecting %s or %s or %s");
-      YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
-# endif
-      char *yyfmt;
-      char const *yyf;
-      static char const yyunexpected[] = "syntax error, unexpected %s";
-      static char const yyexpecting[] = ", expecting %s";
-      static char const yyor[] = " or %s";
-      char yyformat[sizeof yyunexpected
-		    + sizeof yyexpecting - 1
-		    + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
-		       * (sizeof yyor - 1))];
-      char const *yyprefix = yyexpecting;
-
-      /* Start YYX at -YYN if negative to avoid negative indexes in
-	 YYCHECK.  */
-      int yyxbegin = yyn < 0 ? -yyn : 0;
-
-      /* Stay within bounds of both yycheck and yytname.  */
-      int yychecklim = YYLAST - yyn + 1;
-      int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
-      int yycount = 1;
+
 
-      yyarg[0] = yytname[yytype];
-      yyfmt = yystpcpy (yyformat, yyunexpected);
+#if YYDEBUG
+/*--------------------------------.
+| Print this symbol on YYOUTPUT.  |
+`--------------------------------*/
 
-      for (yyx = yyxbegin; yyx < yyxend; ++yyx)
-	if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
-	  {
-	    if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
-	      {
-		yycount = 1;
-		yysize = yysize0;
-		yyformat[sizeof yyunexpected - 1] = '\0';
-		break;
-	      }
-	    yyarg[yycount++] = yytname[yyx];
-	    yysize1 = yysize + yytnamerr (0, yytname[yyx]);
-	    yysize_overflow |= (yysize1 < yysize);
-	    yysize = yysize1;
-	    yyfmt = yystpcpy (yyfmt, yyprefix);
-	    yyprefix = yyor;
-	  }
+#if defined (__STDC__) || defined (__cplusplus)
+static void
+yysymprint (FILE *yyoutput, int yytype, YYSTYPE *yyvaluep)
+#else
+static void
+yysymprint (yyoutput, yytype, yyvaluep)
+    FILE *yyoutput;
+    int yytype;
+    YYSTYPE *yyvaluep;
+#endif
+{
+  /* Pacify ``unused variable'' warnings.  */
+  (void) yyvaluep;
 
-      yyf = YY_(yyformat);
-      yysize1 = yysize + yystrlen (yyf);
-      yysize_overflow |= (yysize1 < yysize);
-      yysize = yysize1;
+  if (yytype < YYNTOKENS)
+    YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
+  else
+    YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
 
-      if (yysize_overflow)
-	return YYSIZE_MAXIMUM;
 
-      if (yyresult)
-	{
-	  /* Avoid sprintf, as that infringes on the user's name space.
-	     Don't have undefined behavior even if the translation
-	     produced a string with the wrong number of "%s"s.  */
-	  char *yyp = yyresult;
-	  int yyi = 0;
-	  while ((*yyp = *yyf) != '\0')
-	    {
-	      if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
-		{
-		  yyp += yytnamerr (yyp, yyarg[yyi++]);
-		  yyf += 2;
-		}
-	      else
-		{
-		  yyp++;
-		  yyf++;
-		}
-	    }
-	}
-      return yysize;
+# ifdef YYPRINT
+  if (yytype < YYNTOKENS)
+    YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
+# endif
+  switch (yytype)
+    {
+      default:
+        break;
     }
+  YYFPRINTF (yyoutput, ")");
 }
-#endif /* YYERROR_VERBOSE */
-
 
+#endif /* ! YYDEBUG */
 /*-----------------------------------------------.
 | Release the memory associated to this symbol.  |
 `-----------------------------------------------*/
 
-/*ARGSUSED*/
-#if (defined __STDC__ || defined __C99__FUNC__ \
-     || defined __cplusplus || defined _MSC_VER)
+#if defined (__STDC__) || defined (__cplusplus)
 static void
 yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
 #else
@@ -2881,7 +2658,8 @@
     YYSTYPE *yyvaluep;
 #endif
 {
-  YYUSE (yyvaluep);
+  /* Pacify ``unused variable'' warnings.  */
+  (void) yyvaluep;
 
   if (!yymsg)
     yymsg = "Deleting";
@@ -2891,7 +2669,7 @@
     {
 
       default:
-	break;
+        break;
     }
 }
 
@@ -2899,13 +2677,13 @@
 /* Prevent warnings from -Wmissing-prototypes.  */
 
 #ifdef YYPARSE_PARAM
-#if defined __STDC__ || defined __cplusplus
+# if defined (__STDC__) || defined (__cplusplus)
 int yyparse (void *YYPARSE_PARAM);
-#else
+# else
 int yyparse ();
-#endif
+# endif
 #else /* ! YYPARSE_PARAM */
-#if defined __STDC__ || defined __cplusplus
+#if defined (__STDC__) || defined (__cplusplus)
 int yyparse (void);
 #else
 int yyparse ();
@@ -2930,18 +2708,14 @@
 `----------*/
 
 #ifdef YYPARSE_PARAM
-#if (defined __STDC__ || defined __C99__FUNC__ \
-     || defined __cplusplus || defined _MSC_VER)
-int
-yyparse (void *YYPARSE_PARAM)
-#else
-int
-yyparse (YYPARSE_PARAM)
-    void *YYPARSE_PARAM;
-#endif
+# if defined (__STDC__) || defined (__cplusplus)
+int yyparse (void *YYPARSE_PARAM)
+# else
+int yyparse (YYPARSE_PARAM)
+  void *YYPARSE_PARAM;
+# endif
 #else /* ! YYPARSE_PARAM */
-#if (defined __STDC__ || defined __C99__FUNC__ \
-     || defined __cplusplus || defined _MSC_VER)
+#if defined (__STDC__) || defined (__cplusplus)
 int
 yyparse (void)
 #else
@@ -2959,12 +2733,6 @@
   int yyerrstatus;
   /* Look-ahead token as an internal (translated) token number.  */
   int yytoken = 0;
-#if YYERROR_VERBOSE
-  /* Buffer for error messages, and its allocated size.  */
-  char yymsgbuf[128];
-  char *yymsg = yymsgbuf;
-  YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
-#endif
 
   /* Three stacks and their tools:
      `yyss': related to states,
@@ -2975,9 +2743,9 @@
      to reallocate them elsewhere.  */
 
   /* The state stack.  */
-  yytype_int16 yyssa[YYINITDEPTH];
-  yytype_int16 *yyss = yyssa;
-  yytype_int16 *yyssp;
+  short int yyssa[YYINITDEPTH];
+  short int *yyss = yyssa;
+  short int *yyssp;
 
   /* The semantic value stack.  */
   YYSTYPE yyvsa[YYINITDEPTH];
@@ -2986,7 +2754,7 @@
 
 
 
-#define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N))
+#define YYPOPSTACK   (yyvsp--, yyssp--)
 
   YYSIZE_T yystacksize = YYINITDEPTH;
 
@@ -2995,9 +2763,9 @@
   YYSTYPE yyval;
 
 
-  /* The number of symbols on the RHS of the reduced rule.
-     Keep to zero when no symbol should be popped.  */
-  int yylen = 0;
+  /* When reducing, the number of symbols on the RHS of the reduced
+     rule.  */
+  int yylen;
 
   YYDPRINTF ((stderr, "Starting parse\n"));
 
@@ -3021,7 +2789,8 @@
 `------------------------------------------------------------*/
  yynewstate:
   /* In all cases, when you get here, the value and location stacks
-     have just been pushed.  So pushing a state here evens the stacks.  */
+     have just been pushed. so pushing a state here evens the stacks.
+     */
   yyssp++;
 
  yysetstate:
@@ -3034,11 +2803,11 @@
 
 #ifdef yyoverflow
       {
-	/* Give user a chance to reallocate the stack.  Use copies of
+	/* Give user a chance to reallocate the stack. Use copies of
 	   these so that the &'s don't force the real ones into
 	   memory.  */
 	YYSTYPE *yyvs1 = yyvs;
-	yytype_int16 *yyss1 = yyss;
+	short int *yyss1 = yyss;
 
 
 	/* Each stack pointer address is followed by the size of the
@@ -3066,7 +2835,7 @@
 	yystacksize = YYMAXDEPTH;
 
       {
-	yytype_int16 *yyss1 = yyss;
+	short int *yyss1 = yyss;
 	union yyalloc *yyptr =
 	  (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
 	if (! yyptr)
@@ -3101,10 +2870,12 @@
 `-----------*/
 yybackup:
 
-  /* Do appropriate processing given the current state.  Read a
-     look-ahead token if we need one and don't already have one.  */
+/* Do appropriate processing given the current state.  */
+/* Read a look-ahead token if we need one and don't already have one.  */
+/* yyresume: */
 
   /* First try to decide what to do without reference to look-ahead token.  */
+
   yyn = yypact[yystate];
   if (yyn == YYPACT_NINF)
     goto yydefault;
@@ -3146,21 +2917,22 @@
   if (yyn == YYFINAL)
     YYACCEPT;
 
-  /* Count tokens shifted since error; after three, turn off error
-     status.  */
-  if (yyerrstatus)
-    yyerrstatus--;
-
   /* Shift the look-ahead token.  */
   YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
 
-  /* Discard the shifted token unless it is eof.  */
+  /* Discard the token being shifted unless it is eof.  */
   if (yychar != YYEOF)
     yychar = YYEMPTY;
 
-  yystate = yyn;
   *++yyvsp = yylval;
 
+
+  /* Count tokens shifted since error; after three, turn off error
+     status.  */
+  if (yyerrstatus)
+    yyerrstatus--;
+
+  yystate = yyn;
   goto yynewstate;
 
 
@@ -3196,155 +2968,155 @@
   switch (yyn)
     {
         case 3:
-#line 1032 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1032 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
-  if ((yyvsp[(1) - (1)].UIntVal) > (uint32_t)INT32_MAX)     // Outside of my range!
+  if ((yyvsp[0].UIntVal) > (uint32_t)INT32_MAX)     // Outside of my range!
     GEN_ERROR("Value too large for type!");
-  (yyval.SIntVal) = (int32_t)(yyvsp[(1) - (1)].UIntVal);
+  (yyval.SIntVal) = (int32_t)(yyvsp[0].UIntVal);
   CHECK_FOR_ERROR
 ;}
     break;
 
   case 31:
-#line 1048 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1048 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.IPredicate) = ICmpInst::ICMP_EQ; ;}
     break;
 
   case 32:
-#line 1048 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1048 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.IPredicate) = ICmpInst::ICMP_NE; ;}
     break;
 
   case 33:
-#line 1049 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1049 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.IPredicate) = ICmpInst::ICMP_SLT; ;}
     break;
 
   case 34:
-#line 1049 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1049 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.IPredicate) = ICmpInst::ICMP_SGT; ;}
     break;
 
   case 35:
-#line 1050 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1050 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.IPredicate) = ICmpInst::ICMP_SLE; ;}
     break;
 
   case 36:
-#line 1050 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1050 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.IPredicate) = ICmpInst::ICMP_SGE; ;}
     break;
 
   case 37:
-#line 1051 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1051 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.IPredicate) = ICmpInst::ICMP_ULT; ;}
     break;
 
   case 38:
-#line 1051 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1051 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.IPredicate) = ICmpInst::ICMP_UGT; ;}
     break;
 
   case 39:
-#line 1052 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1052 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.IPredicate) = ICmpInst::ICMP_ULE; ;}
     break;
 
   case 40:
-#line 1052 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1052 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.IPredicate) = ICmpInst::ICMP_UGE; ;}
     break;
 
   case 41:
-#line 1056 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1056 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.FPredicate) = FCmpInst::FCMP_OEQ; ;}
     break;
 
   case 42:
-#line 1056 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1056 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.FPredicate) = FCmpInst::FCMP_ONE; ;}
     break;
 
   case 43:
-#line 1057 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1057 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.FPredicate) = FCmpInst::FCMP_OLT; ;}
     break;
 
   case 44:
-#line 1057 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1057 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.FPredicate) = FCmpInst::FCMP_OGT; ;}
     break;
 
   case 45:
-#line 1058 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1058 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.FPredicate) = FCmpInst::FCMP_OLE; ;}
     break;
 
   case 46:
-#line 1058 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1058 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.FPredicate) = FCmpInst::FCMP_OGE; ;}
     break;
 
   case 47:
-#line 1059 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1059 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.FPredicate) = FCmpInst::FCMP_ORD; ;}
     break;
 
   case 48:
-#line 1059 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1059 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.FPredicate) = FCmpInst::FCMP_UNO; ;}
     break;
 
   case 49:
-#line 1060 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1060 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.FPredicate) = FCmpInst::FCMP_UEQ; ;}
     break;
 
   case 50:
-#line 1060 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1060 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.FPredicate) = FCmpInst::FCMP_UNE; ;}
     break;
 
   case 51:
-#line 1061 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1061 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.FPredicate) = FCmpInst::FCMP_ULT; ;}
     break;
 
   case 52:
-#line 1061 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1061 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.FPredicate) = FCmpInst::FCMP_UGT; ;}
     break;
 
   case 53:
-#line 1062 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1062 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.FPredicate) = FCmpInst::FCMP_ULE; ;}
     break;
 
   case 54:
-#line 1062 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1062 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.FPredicate) = FCmpInst::FCMP_UGE; ;}
     break;
 
   case 55:
-#line 1063 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1063 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.FPredicate) = FCmpInst::FCMP_TRUE; ;}
     break;
 
   case 56:
-#line 1064 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1064 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.FPredicate) = FCmpInst::FCMP_FALSE; ;}
     break;
 
   case 60:
-#line 1073 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1073 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
-    (yyval.StrVal) = (yyvsp[(1) - (2)].StrVal);
+    (yyval.StrVal) = (yyvsp[-1].StrVal);
     CHECK_FOR_ERROR
   ;}
     break;
 
   case 61:
-#line 1077 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1077 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.StrVal) = 0;
     CHECK_FOR_ERROR
@@ -3352,188 +3124,188 @@
     break;
 
   case 62:
-#line 1083 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1083 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Linkage) = GlobalValue::InternalLinkage; ;}
     break;
 
   case 63:
-#line 1084 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1084 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Linkage) = GlobalValue::WeakLinkage; ;}
     break;
 
   case 64:
-#line 1085 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1085 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Linkage) = GlobalValue::LinkOnceLinkage; ;}
     break;
 
   case 65:
-#line 1086 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1086 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Linkage) = GlobalValue::AppendingLinkage; ;}
     break;
 
   case 66:
-#line 1087 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1087 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Linkage) = GlobalValue::DLLExportLinkage; ;}
     break;
 
   case 67:
-#line 1091 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1091 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Linkage) = GlobalValue::DLLImportLinkage; ;}
     break;
 
   case 68:
-#line 1092 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1092 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Linkage) = GlobalValue::ExternalWeakLinkage; ;}
     break;
 
   case 69:
-#line 1093 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1093 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Linkage) = GlobalValue::ExternalLinkage; ;}
     break;
 
   case 70:
-#line 1097 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1097 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Visibility) = GlobalValue::DefaultVisibility; ;}
     break;
 
   case 71:
-#line 1098 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1098 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Visibility) = GlobalValue::HiddenVisibility;  ;}
     break;
 
   case 72:
-#line 1102 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1102 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Linkage) = GlobalValue::ExternalLinkage; ;}
     break;
 
   case 73:
-#line 1103 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1103 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Linkage) = GlobalValue::DLLImportLinkage; ;}
     break;
 
   case 74:
-#line 1104 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1104 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Linkage) = GlobalValue::ExternalWeakLinkage; ;}
     break;
 
   case 75:
-#line 1108 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1108 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Linkage) = GlobalValue::ExternalLinkage; ;}
     break;
 
   case 76:
-#line 1109 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1109 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Linkage) = GlobalValue::InternalLinkage; ;}
     break;
 
   case 77:
-#line 1110 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1110 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Linkage) = GlobalValue::LinkOnceLinkage; ;}
     break;
 
   case 78:
-#line 1111 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1111 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Linkage) = GlobalValue::WeakLinkage; ;}
     break;
 
   case 79:
-#line 1112 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1112 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Linkage) = GlobalValue::DLLExportLinkage; ;}
     break;
 
   case 80:
-#line 1115 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1115 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.UIntVal) = CallingConv::C; ;}
     break;
 
   case 81:
-#line 1116 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1116 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.UIntVal) = CallingConv::C; ;}
     break;
 
   case 82:
-#line 1117 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1117 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.UIntVal) = CallingConv::CSRet; ;}
     break;
 
   case 83:
-#line 1118 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1118 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.UIntVal) = CallingConv::Fast; ;}
     break;
 
   case 84:
-#line 1119 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1119 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.UIntVal) = CallingConv::Cold; ;}
     break;
 
   case 85:
-#line 1120 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1120 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.UIntVal) = CallingConv::X86_StdCall; ;}
     break;
 
   case 86:
-#line 1121 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1121 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.UIntVal) = CallingConv::X86_FastCall; ;}
     break;
 
   case 87:
-#line 1122 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1122 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
-                   if ((unsigned)(yyvsp[(2) - (2)].UInt64Val) != (yyvsp[(2) - (2)].UInt64Val))
+                   if ((unsigned)(yyvsp[0].UInt64Val) != (yyvsp[0].UInt64Val))
                      GEN_ERROR("Calling conv too large!");
-                   (yyval.UIntVal) = (yyvsp[(2) - (2)].UInt64Val);
+                   (yyval.UIntVal) = (yyvsp[0].UInt64Val);
                   CHECK_FOR_ERROR
                  ;}
     break;
 
   case 88:
-#line 1129 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1129 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.ParamAttrs) = FunctionType::ZExtAttribute; ;}
     break;
 
   case 89:
-#line 1130 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1130 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.ParamAttrs) = FunctionType::SExtAttribute; ;}
     break;
 
   case 90:
-#line 1133 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1133 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.ParamAttrs) = FunctionType::NoAttributeSet; ;}
     break;
 
   case 91:
-#line 1134 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1134 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
-                (yyval.ParamAttrs) = FunctionType::ParameterAttributes((yyvsp[(1) - (2)].ParamAttrs) | (yyvsp[(2) - (2)].ParamAttrs));
+                (yyval.ParamAttrs) = FunctionType::ParameterAttributes((yyvsp[-1].ParamAttrs) | (yyvsp[0].ParamAttrs));
               ;}
     break;
 
   case 92:
-#line 1139 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1139 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.ParamAttrs) = FunctionType::NoReturnAttribute; ;}
     break;
 
   case 94:
-#line 1143 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1143 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.ParamAttrs) = FunctionType::NoAttributeSet; ;}
     break;
 
   case 95:
-#line 1144 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1144 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
-                (yyval.ParamAttrs) = FunctionType::ParameterAttributes((yyvsp[(1) - (2)].ParamAttrs) | (yyvsp[(2) - (2)].ParamAttrs));
+                (yyval.ParamAttrs) = FunctionType::ParameterAttributes((yyvsp[-1].ParamAttrs) | (yyvsp[0].ParamAttrs));
               ;}
     break;
 
   case 96:
-#line 1151 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1151 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.UIntVal) = 0; ;}
     break;
 
   case 97:
-#line 1152 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1152 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
-  (yyval.UIntVal) = (yyvsp[(2) - (2)].UInt64Val);
+  (yyval.UIntVal) = (yyvsp[0].UInt64Val);
   if ((yyval.UIntVal) != 0 && !isPowerOf2_32((yyval.UIntVal)))
     GEN_ERROR("Alignment must be a power of two!");
   CHECK_FOR_ERROR
@@ -3541,14 +3313,14 @@
     break;
 
   case 98:
-#line 1158 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1158 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.UIntVal) = 0; ;}
     break;
 
   case 99:
-#line 1159 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1159 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
-  (yyval.UIntVal) = (yyvsp[(3) - (3)].UInt64Val);
+  (yyval.UIntVal) = (yyvsp[0].UInt64Val);
   if ((yyval.UIntVal) != 0 && !isPowerOf2_32((yyval.UIntVal)))
     GEN_ERROR("Alignment must be a power of two!");
   CHECK_FOR_ERROR
@@ -3556,110 +3328,110 @@
     break;
 
   case 100:
-#line 1167 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1167 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
-  for (unsigned i = 0, e = strlen((yyvsp[(2) - (2)].StrVal)); i != e; ++i)
-    if ((yyvsp[(2) - (2)].StrVal)[i] == '"' || (yyvsp[(2) - (2)].StrVal)[i] == '\\')
+  for (unsigned i = 0, e = strlen((yyvsp[0].StrVal)); i != e; ++i)
+    if ((yyvsp[0].StrVal)[i] == '"' || (yyvsp[0].StrVal)[i] == '\\')
       GEN_ERROR("Invalid character in section name!");
-  (yyval.StrVal) = (yyvsp[(2) - (2)].StrVal);
+  (yyval.StrVal) = (yyvsp[0].StrVal);
   CHECK_FOR_ERROR
 ;}
     break;
 
   case 101:
-#line 1175 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1175 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.StrVal) = 0; ;}
     break;
 
   case 102:
-#line 1176 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.StrVal) = (yyvsp[(1) - (1)].StrVal); ;}
+#line 1176 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.StrVal) = (yyvsp[0].StrVal); ;}
     break;
 
   case 103:
-#line 1181 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1181 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {;}
     break;
 
   case 104:
-#line 1182 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1182 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {;}
     break;
 
   case 105:
-#line 1183 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1183 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
-    CurGV->setSection((yyvsp[(1) - (1)].StrVal));
-    free((yyvsp[(1) - (1)].StrVal));
+    CurGV->setSection((yyvsp[0].StrVal));
+    free((yyvsp[0].StrVal));
     CHECK_FOR_ERROR
   ;}
     break;
 
   case 106:
-#line 1188 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1188 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
-    if ((yyvsp[(2) - (2)].UInt64Val) != 0 && !isPowerOf2_32((yyvsp[(2) - (2)].UInt64Val)))
+    if ((yyvsp[0].UInt64Val) != 0 && !isPowerOf2_32((yyvsp[0].UInt64Val)))
       GEN_ERROR("Alignment must be a power of two!");
-    CurGV->setAlignment((yyvsp[(2) - (2)].UInt64Val));
+    CurGV->setAlignment((yyvsp[0].UInt64Val));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 112:
-#line 1204 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 111:
+#line 1204 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.TypeVal) = new PATypeHolder(OpaqueType::get());
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 113:
-#line 1208 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 112:
+#line 1208 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
-    (yyval.TypeVal) = new PATypeHolder((yyvsp[(1) - (1)].PrimType));
+    (yyval.TypeVal) = new PATypeHolder((yyvsp[0].PrimType));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 114:
-#line 1212 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 113:
+#line 1212 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {                             // Pointer type?
-    if (*(yyvsp[(1) - (2)].TypeVal) == Type::LabelTy)
+    if (*(yyvsp[-1].TypeVal) == Type::LabelTy)
       GEN_ERROR("Cannot form a pointer to a basic block");
-    (yyval.TypeVal) = new PATypeHolder(HandleUpRefs(PointerType::get(*(yyvsp[(1) - (2)].TypeVal))));
-    delete (yyvsp[(1) - (2)].TypeVal);
+    (yyval.TypeVal) = new PATypeHolder(HandleUpRefs(PointerType::get(*(yyvsp[-1].TypeVal))));
+    delete (yyvsp[-1].TypeVal);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 115:
-#line 1219 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 114:
+#line 1219 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {            // Named types are also simple types...
-    const Type* tmp = getTypeVal((yyvsp[(1) - (1)].ValIDVal));
+    const Type* tmp = getTypeVal((yyvsp[0].ValIDVal));
     CHECK_FOR_ERROR
     (yyval.TypeVal) = new PATypeHolder(tmp);
   ;}
     break;
 
-  case 116:
-#line 1224 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 115:
+#line 1224 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {                   // Type UpReference
-    if ((yyvsp[(2) - (2)].UInt64Val) > (uint64_t)~0U) GEN_ERROR("Value out of range!");
+    if ((yyvsp[0].UInt64Val) > (uint64_t)~0U) GEN_ERROR("Value out of range!");
     OpaqueType *OT = OpaqueType::get();        // Use temporary placeholder
-    UpRefs.push_back(UpRefRecord((unsigned)(yyvsp[(2) - (2)].UInt64Val), OT));  // Add to vector...
+    UpRefs.push_back(UpRefRecord((unsigned)(yyvsp[0].UInt64Val), OT));  // Add to vector...
     (yyval.TypeVal) = new PATypeHolder(OT);
     UR_OUT("New Upreference!\n");
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 117:
-#line 1232 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 116:
+#line 1232 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     std::vector<const Type*> Params;
     std::vector<FunctionType::ParameterAttributes> Attrs;
-    Attrs.push_back((yyvsp[(5) - (5)].ParamAttrs));
-    for (TypeWithAttrsList::iterator I=(yyvsp[(3) - (5)].TypeWithAttrsList)->begin(), E=(yyvsp[(3) - (5)].TypeWithAttrsList)->end(); I != E; ++I) {
+    Attrs.push_back((yyvsp[0].ParamAttrs));
+    for (TypeWithAttrsList::iterator I=(yyvsp[-2].TypeWithAttrsList)->begin(), E=(yyvsp[-2].TypeWithAttrsList)->end(); I != E; ++I) {
       Params.push_back(I->Ty->get());
       if (I->Ty->get() != Type::VoidTy)
         Attrs.push_back(I->Attrs);
@@ -3667,21 +3439,21 @@
     bool isVarArg = Params.size() && Params.back() == Type::VoidTy;
     if (isVarArg) Params.pop_back();
 
-    FunctionType *FT = FunctionType::get(*(yyvsp[(1) - (5)].TypeVal), Params, isVarArg, Attrs);
-    delete (yyvsp[(3) - (5)].TypeWithAttrsList);   // Delete the argument list
-    delete (yyvsp[(1) - (5)].TypeVal);   // Delete the return type handle
+    FunctionType *FT = FunctionType::get(*(yyvsp[-4].TypeVal), Params, isVarArg, Attrs);
+    delete (yyvsp[-2].TypeWithAttrsList);   // Delete the argument list
+    delete (yyvsp[-4].TypeVal);   // Delete the return type handle
     (yyval.TypeVal) = new PATypeHolder(HandleUpRefs(FT)); 
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 118:
-#line 1250 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 117:
+#line 1250 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     std::vector<const Type*> Params;
     std::vector<FunctionType::ParameterAttributes> Attrs;
-    Attrs.push_back((yyvsp[(5) - (5)].ParamAttrs));
-    for (TypeWithAttrsList::iterator I=(yyvsp[(3) - (5)].TypeWithAttrsList)->begin(), E=(yyvsp[(3) - (5)].TypeWithAttrsList)->end(); I != E; ++I) {
+    Attrs.push_back((yyvsp[0].ParamAttrs));
+    for (TypeWithAttrsList::iterator I=(yyvsp[-2].TypeWithAttrsList)->begin(), E=(yyvsp[-2].TypeWithAttrsList)->end(); I != E; ++I) {
       Params.push_back(I->Ty->get());
       if (I->Ty->get() != Type::VoidTy)
         Attrs.push_back(I->Attrs);
@@ -3689,129 +3461,129 @@
     bool isVarArg = Params.size() && Params.back() == Type::VoidTy;
     if (isVarArg) Params.pop_back();
 
-    FunctionType *FT = FunctionType::get((yyvsp[(1) - (5)].PrimType), Params, isVarArg, Attrs);
-    delete (yyvsp[(3) - (5)].TypeWithAttrsList);      // Delete the argument list
+    FunctionType *FT = FunctionType::get((yyvsp[-4].PrimType), Params, isVarArg, Attrs);
+    delete (yyvsp[-2].TypeWithAttrsList);      // Delete the argument list
     (yyval.TypeVal) = new PATypeHolder(HandleUpRefs(FT)); 
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 119:
-#line 1268 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 118:
+#line 1268 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {          // Sized array type?
-    (yyval.TypeVal) = new PATypeHolder(HandleUpRefs(ArrayType::get(*(yyvsp[(4) - (5)].TypeVal), (unsigned)(yyvsp[(2) - (5)].UInt64Val))));
-    delete (yyvsp[(4) - (5)].TypeVal);
+    (yyval.TypeVal) = new PATypeHolder(HandleUpRefs(ArrayType::get(*(yyvsp[-1].TypeVal), (unsigned)(yyvsp[-3].UInt64Val))));
+    delete (yyvsp[-1].TypeVal);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 120:
-#line 1273 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 119:
+#line 1273 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {          // Packed array type?
-     const llvm::Type* ElemTy = (yyvsp[(4) - (5)].TypeVal)->get();
-     if ((unsigned)(yyvsp[(2) - (5)].UInt64Val) != (yyvsp[(2) - (5)].UInt64Val))
+     const llvm::Type* ElemTy = (yyvsp[-1].TypeVal)->get();
+     if ((unsigned)(yyvsp[-3].UInt64Val) != (yyvsp[-3].UInt64Val))
         GEN_ERROR("Unsigned result not equal to signed result");
      if (!ElemTy->isFloatingPoint() && !ElemTy->isInteger())
         GEN_ERROR("Element type of a PackedType must be primitive");
-     if (!isPowerOf2_32((yyvsp[(2) - (5)].UInt64Val)))
+     if (!isPowerOf2_32((yyvsp[-3].UInt64Val)))
        GEN_ERROR("Vector length should be a power of 2!");
-     (yyval.TypeVal) = new PATypeHolder(HandleUpRefs(PackedType::get(*(yyvsp[(4) - (5)].TypeVal), (unsigned)(yyvsp[(2) - (5)].UInt64Val))));
-     delete (yyvsp[(4) - (5)].TypeVal);
+     (yyval.TypeVal) = new PATypeHolder(HandleUpRefs(PackedType::get(*(yyvsp[-1].TypeVal), (unsigned)(yyvsp[-3].UInt64Val))));
+     delete (yyvsp[-1].TypeVal);
      CHECK_FOR_ERROR
   ;}
     break;
 
-  case 121:
-#line 1285 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 120:
+#line 1285 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {                        // Structure type?
     std::vector<const Type*> Elements;
-    for (std::list<llvm::PATypeHolder>::iterator I = (yyvsp[(2) - (3)].TypeList)->begin(),
-           E = (yyvsp[(2) - (3)].TypeList)->end(); I != E; ++I)
+    for (std::list<llvm::PATypeHolder>::iterator I = (yyvsp[-1].TypeList)->begin(),
+           E = (yyvsp[-1].TypeList)->end(); I != E; ++I)
       Elements.push_back(*I);
 
     (yyval.TypeVal) = new PATypeHolder(HandleUpRefs(StructType::get(Elements)));
-    delete (yyvsp[(2) - (3)].TypeList);
+    delete (yyvsp[-1].TypeList);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 122:
-#line 1295 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 121:
+#line 1295 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {                                  // Empty structure type?
     (yyval.TypeVal) = new PATypeHolder(StructType::get(std::vector<const Type*>()));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 123:
-#line 1299 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 122:
+#line 1299 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     std::vector<const Type*> Elements;
-    for (std::list<llvm::PATypeHolder>::iterator I = (yyvsp[(3) - (5)].TypeList)->begin(),
-           E = (yyvsp[(3) - (5)].TypeList)->end(); I != E; ++I)
+    for (std::list<llvm::PATypeHolder>::iterator I = (yyvsp[-2].TypeList)->begin(),
+           E = (yyvsp[-2].TypeList)->end(); I != E; ++I)
       Elements.push_back(*I);
 
     (yyval.TypeVal) = new PATypeHolder(HandleUpRefs(StructType::get(Elements, true)));
-    delete (yyvsp[(3) - (5)].TypeList);
+    delete (yyvsp[-2].TypeList);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 124:
-#line 1309 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 123:
+#line 1309 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {                         // Empty structure type?
     (yyval.TypeVal) = new PATypeHolder(StructType::get(std::vector<const Type*>(), true));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 125:
-#line 1316 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 124:
+#line 1316 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { 
-    (yyval.TypeWithAttrs).Ty = (yyvsp[(1) - (2)].TypeVal); 
-    (yyval.TypeWithAttrs).Attrs = (yyvsp[(2) - (2)].ParamAttrs); 
+    (yyval.TypeWithAttrs).Ty = (yyvsp[-1].TypeVal); 
+    (yyval.TypeWithAttrs).Attrs = (yyvsp[0].ParamAttrs); 
   ;}
     break;
 
-  case 126:
-#line 1323 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 125:
+#line 1323 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
-      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (1)].TypeVal))->getDescription());
-    if (!(*(yyvsp[(1) - (1)].TypeVal))->isFirstClassType())
+      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[0].TypeVal))->getDescription());
+    if (!(*(yyvsp[0].TypeVal))->isFirstClassType())
       GEN_ERROR("LLVM functions cannot return aggregate types!");
-    (yyval.TypeVal) = (yyvsp[(1) - (1)].TypeVal);
+    (yyval.TypeVal) = (yyvsp[0].TypeVal);
   ;}
     break;
 
-  case 127:
-#line 1330 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 126:
+#line 1330 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.TypeVal) = new PATypeHolder(Type::VoidTy);
   ;}
     break;
 
-  case 128:
-#line 1335 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 127:
+#line 1335 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.TypeWithAttrsList) = new TypeWithAttrsList();
-    (yyval.TypeWithAttrsList)->push_back((yyvsp[(1) - (1)].TypeWithAttrs));
+    (yyval.TypeWithAttrsList)->push_back((yyvsp[0].TypeWithAttrs));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 129:
-#line 1340 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 128:
+#line 1340 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
-    ((yyval.TypeWithAttrsList)=(yyvsp[(1) - (3)].TypeWithAttrsList))->push_back((yyvsp[(3) - (3)].TypeWithAttrs));
+    ((yyval.TypeWithAttrsList)=(yyvsp[-2].TypeWithAttrsList))->push_back((yyvsp[0].TypeWithAttrs));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 131:
-#line 1348 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 130:
+#line 1348 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
-    (yyval.TypeWithAttrsList)=(yyvsp[(1) - (3)].TypeWithAttrsList);
+    (yyval.TypeWithAttrsList)=(yyvsp[-2].TypeWithAttrsList);
     TypeWithAttrs TWA; TWA.Attrs = FunctionType::NoAttributeSet;
     TWA.Ty = new PATypeHolder(Type::VoidTy);
     (yyval.TypeWithAttrsList)->push_back(TWA);
@@ -3819,8 +3591,8 @@
   ;}
     break;
 
-  case 132:
-#line 1355 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 131:
+#line 1355 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.TypeWithAttrsList) = new TypeWithAttrsList;
     TypeWithAttrs TWA; TWA.Attrs = FunctionType::NoAttributeSet;
@@ -3830,162 +3602,162 @@
   ;}
     break;
 
-  case 133:
-#line 1362 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 132:
+#line 1362 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.TypeWithAttrsList) = new TypeWithAttrsList();
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 134:
-#line 1370 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 133:
+#line 1370 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.TypeList) = new std::list<PATypeHolder>();
-    (yyval.TypeList)->push_back(*(yyvsp[(1) - (1)].TypeVal)); delete (yyvsp[(1) - (1)].TypeVal);
+    (yyval.TypeList)->push_back(*(yyvsp[0].TypeVal)); delete (yyvsp[0].TypeVal);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 135:
-#line 1375 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 134:
+#line 1375 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
-    ((yyval.TypeList)=(yyvsp[(1) - (3)].TypeList))->push_back(*(yyvsp[(3) - (3)].TypeVal)); delete (yyvsp[(3) - (3)].TypeVal);
+    ((yyval.TypeList)=(yyvsp[-2].TypeList))->push_back(*(yyvsp[0].TypeVal)); delete (yyvsp[0].TypeVal);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 136:
-#line 1386 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 135:
+#line 1386 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { // Nonempty unsized arr
     if (!UpRefs.empty())
-      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (4)].TypeVal))->getDescription());
-    const ArrayType *ATy = dyn_cast<ArrayType>((yyvsp[(1) - (4)].TypeVal)->get());
+      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-3].TypeVal))->getDescription());
+    const ArrayType *ATy = dyn_cast<ArrayType>((yyvsp[-3].TypeVal)->get());
     if (ATy == 0)
       GEN_ERROR("Cannot make array constant with type: '" + 
-                     (*(yyvsp[(1) - (4)].TypeVal))->getDescription() + "'!");
+                     (*(yyvsp[-3].TypeVal))->getDescription() + "'!");
     const Type *ETy = ATy->getElementType();
     int NumElements = ATy->getNumElements();
 
     // Verify that we have the correct size...
-    if (NumElements != -1 && NumElements != (int)(yyvsp[(3) - (4)].ConstVector)->size())
+    if (NumElements != -1 && NumElements != (int)(yyvsp[-1].ConstVector)->size())
       GEN_ERROR("Type mismatch: constant sized array initialized with " +
-                     utostr((yyvsp[(3) - (4)].ConstVector)->size()) +  " arguments, but has size of " + 
+                     utostr((yyvsp[-1].ConstVector)->size()) +  " arguments, but has size of " + 
                      itostr(NumElements) + "!");
 
     // Verify all elements are correct type!
-    for (unsigned i = 0; i < (yyvsp[(3) - (4)].ConstVector)->size(); i++) {
-      if (ETy != (*(yyvsp[(3) - (4)].ConstVector))[i]->getType())
+    for (unsigned i = 0; i < (yyvsp[-1].ConstVector)->size(); i++) {
+      if (ETy != (*(yyvsp[-1].ConstVector))[i]->getType())
         GEN_ERROR("Element #" + utostr(i) + " is not of type '" + 
                        ETy->getDescription() +"' as required!\nIt is of type '"+
-                       (*(yyvsp[(3) - (4)].ConstVector))[i]->getType()->getDescription() + "'.");
+                       (*(yyvsp[-1].ConstVector))[i]->getType()->getDescription() + "'.");
     }
 
-    (yyval.ConstVal) = ConstantArray::get(ATy, *(yyvsp[(3) - (4)].ConstVector));
-    delete (yyvsp[(1) - (4)].TypeVal); delete (yyvsp[(3) - (4)].ConstVector);
+    (yyval.ConstVal) = ConstantArray::get(ATy, *(yyvsp[-1].ConstVector));
+    delete (yyvsp[-3].TypeVal); delete (yyvsp[-1].ConstVector);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 137:
-#line 1414 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 136:
+#line 1414 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
-      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (3)].TypeVal))->getDescription());
-    const ArrayType *ATy = dyn_cast<ArrayType>((yyvsp[(1) - (3)].TypeVal)->get());
+      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-2].TypeVal))->getDescription());
+    const ArrayType *ATy = dyn_cast<ArrayType>((yyvsp[-2].TypeVal)->get());
     if (ATy == 0)
       GEN_ERROR("Cannot make array constant with type: '" + 
-                     (*(yyvsp[(1) - (3)].TypeVal))->getDescription() + "'!");
+                     (*(yyvsp[-2].TypeVal))->getDescription() + "'!");
 
     int NumElements = ATy->getNumElements();
     if (NumElements != -1 && NumElements != 0) 
       GEN_ERROR("Type mismatch: constant sized array initialized with 0"
                      " arguments, but has size of " + itostr(NumElements) +"!");
     (yyval.ConstVal) = ConstantArray::get(ATy, std::vector<Constant*>());
-    delete (yyvsp[(1) - (3)].TypeVal);
+    delete (yyvsp[-2].TypeVal);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 138:
-#line 1430 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 137:
+#line 1430 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
-      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (3)].TypeVal))->getDescription());
-    const ArrayType *ATy = dyn_cast<ArrayType>((yyvsp[(1) - (3)].TypeVal)->get());
+      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-2].TypeVal))->getDescription());
+    const ArrayType *ATy = dyn_cast<ArrayType>((yyvsp[-2].TypeVal)->get());
     if (ATy == 0)
       GEN_ERROR("Cannot make array constant with type: '" + 
-                     (*(yyvsp[(1) - (3)].TypeVal))->getDescription() + "'!");
+                     (*(yyvsp[-2].TypeVal))->getDescription() + "'!");
 
     int NumElements = ATy->getNumElements();
     const Type *ETy = ATy->getElementType();
-    char *EndStr = UnEscapeLexed((yyvsp[(3) - (3)].StrVal), true);
-    if (NumElements != -1 && NumElements != (EndStr-(yyvsp[(3) - (3)].StrVal)))
+    char *EndStr = UnEscapeLexed((yyvsp[0].StrVal), true);
+    if (NumElements != -1 && NumElements != (EndStr-(yyvsp[0].StrVal)))
       GEN_ERROR("Can't build string constant of size " + 
-                     itostr((int)(EndStr-(yyvsp[(3) - (3)].StrVal))) +
+                     itostr((int)(EndStr-(yyvsp[0].StrVal))) +
                      " when array has size " + itostr(NumElements) + "!");
     std::vector<Constant*> Vals;
     if (ETy == Type::Int8Ty) {
-      for (unsigned char *C = (unsigned char *)(yyvsp[(3) - (3)].StrVal); 
+      for (unsigned char *C = (unsigned char *)(yyvsp[0].StrVal); 
         C != (unsigned char*)EndStr; ++C)
       Vals.push_back(ConstantInt::get(ETy, *C));
     } else {
-      free((yyvsp[(3) - (3)].StrVal));
+      free((yyvsp[0].StrVal));
       GEN_ERROR("Cannot build string arrays of non byte sized elements!");
     }
-    free((yyvsp[(3) - (3)].StrVal));
+    free((yyvsp[0].StrVal));
     (yyval.ConstVal) = ConstantArray::get(ATy, Vals);
-    delete (yyvsp[(1) - (3)].TypeVal);
+    delete (yyvsp[-2].TypeVal);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 139:
-#line 1459 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 138:
+#line 1459 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { // Nonempty unsized arr
     if (!UpRefs.empty())
-      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (4)].TypeVal))->getDescription());
-    const PackedType *PTy = dyn_cast<PackedType>((yyvsp[(1) - (4)].TypeVal)->get());
+      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-3].TypeVal))->getDescription());
+    const PackedType *PTy = dyn_cast<PackedType>((yyvsp[-3].TypeVal)->get());
     if (PTy == 0)
       GEN_ERROR("Cannot make packed constant with type: '" + 
-                     (*(yyvsp[(1) - (4)].TypeVal))->getDescription() + "'!");
+                     (*(yyvsp[-3].TypeVal))->getDescription() + "'!");
     const Type *ETy = PTy->getElementType();
     int NumElements = PTy->getNumElements();
 
     // Verify that we have the correct size...
-    if (NumElements != -1 && NumElements != (int)(yyvsp[(3) - (4)].ConstVector)->size())
+    if (NumElements != -1 && NumElements != (int)(yyvsp[-1].ConstVector)->size())
       GEN_ERROR("Type mismatch: constant sized packed initialized with " +
-                     utostr((yyvsp[(3) - (4)].ConstVector)->size()) +  " arguments, but has size of " + 
+                     utostr((yyvsp[-1].ConstVector)->size()) +  " arguments, but has size of " + 
                      itostr(NumElements) + "!");
 
     // Verify all elements are correct type!
-    for (unsigned i = 0; i < (yyvsp[(3) - (4)].ConstVector)->size(); i++) {
-      if (ETy != (*(yyvsp[(3) - (4)].ConstVector))[i]->getType())
+    for (unsigned i = 0; i < (yyvsp[-1].ConstVector)->size(); i++) {
+      if (ETy != (*(yyvsp[-1].ConstVector))[i]->getType())
         GEN_ERROR("Element #" + utostr(i) + " is not of type '" + 
            ETy->getDescription() +"' as required!\nIt is of type '"+
-           (*(yyvsp[(3) - (4)].ConstVector))[i]->getType()->getDescription() + "'.");
+           (*(yyvsp[-1].ConstVector))[i]->getType()->getDescription() + "'.");
     }
 
-    (yyval.ConstVal) = ConstantPacked::get(PTy, *(yyvsp[(3) - (4)].ConstVector));
-    delete (yyvsp[(1) - (4)].TypeVal); delete (yyvsp[(3) - (4)].ConstVector);
+    (yyval.ConstVal) = ConstantPacked::get(PTy, *(yyvsp[-1].ConstVector));
+    delete (yyvsp[-3].TypeVal); delete (yyvsp[-1].ConstVector);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 140:
-#line 1487 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 139:
+#line 1487 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
-    const StructType *STy = dyn_cast<StructType>((yyvsp[(1) - (4)].TypeVal)->get());
+    const StructType *STy = dyn_cast<StructType>((yyvsp[-3].TypeVal)->get());
     if (STy == 0)
       GEN_ERROR("Cannot make struct constant with type: '" + 
-                     (*(yyvsp[(1) - (4)].TypeVal))->getDescription() + "'!");
+                     (*(yyvsp[-3].TypeVal))->getDescription() + "'!");
 
-    if ((yyvsp[(3) - (4)].ConstVector)->size() != STy->getNumContainedTypes())
+    if ((yyvsp[-1].ConstVector)->size() != STy->getNumContainedTypes())
       GEN_ERROR("Illegal number of initializers for structure type!");
 
     // Check to ensure that constants are compatible with the type initializer!
-    for (unsigned i = 0, e = (yyvsp[(3) - (4)].ConstVector)->size(); i != e; ++i)
-      if ((*(yyvsp[(3) - (4)].ConstVector))[i]->getType() != STy->getElementType(i))
+    for (unsigned i = 0, e = (yyvsp[-1].ConstVector)->size(); i != e; ++i)
+      if ((*(yyvsp[-1].ConstVector))[i]->getType() != STy->getElementType(i))
         GEN_ERROR("Expected type '" +
                        STy->getElementType(i)->getDescription() +
                        "' for element #" + utostr(i) +
@@ -3995,21 +3767,21 @@
     if (STy->isPacked())
       GEN_ERROR("Unpacked Initializer to packed type '" + STy->getDescription() + "'");
 
-    (yyval.ConstVal) = ConstantStruct::get(STy, *(yyvsp[(3) - (4)].ConstVector));
-    delete (yyvsp[(1) - (4)].TypeVal); delete (yyvsp[(3) - (4)].ConstVector);
+    (yyval.ConstVal) = ConstantStruct::get(STy, *(yyvsp[-1].ConstVector));
+    delete (yyvsp[-3].TypeVal); delete (yyvsp[-1].ConstVector);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 141:
-#line 1512 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 140:
+#line 1512 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
-      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (3)].TypeVal))->getDescription());
-    const StructType *STy = dyn_cast<StructType>((yyvsp[(1) - (3)].TypeVal)->get());
+      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-2].TypeVal))->getDescription());
+    const StructType *STy = dyn_cast<StructType>((yyvsp[-2].TypeVal)->get());
     if (STy == 0)
       GEN_ERROR("Cannot make struct constant with type: '" + 
-                     (*(yyvsp[(1) - (3)].TypeVal))->getDescription() + "'!");
+                     (*(yyvsp[-2].TypeVal))->getDescription() + "'!");
 
     if (STy->getNumContainedTypes() != 0)
       GEN_ERROR("Illegal number of initializers for structure type!");
@@ -4019,25 +3791,25 @@
       GEN_ERROR("Unpacked Initializer to packed type '" + STy->getDescription() + "'");
 
     (yyval.ConstVal) = ConstantStruct::get(STy, std::vector<Constant*>());
-    delete (yyvsp[(1) - (3)].TypeVal);
+    delete (yyvsp[-2].TypeVal);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 142:
-#line 1531 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 141:
+#line 1531 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
-    const StructType *STy = dyn_cast<StructType>((yyvsp[(1) - (6)].TypeVal)->get());
+    const StructType *STy = dyn_cast<StructType>((yyvsp[-5].TypeVal)->get());
     if (STy == 0)
       GEN_ERROR("Cannot make struct constant with type: '" + 
-                     (*(yyvsp[(1) - (6)].TypeVal))->getDescription() + "'!");
+                     (*(yyvsp[-5].TypeVal))->getDescription() + "'!");
 
-    if ((yyvsp[(4) - (6)].ConstVector)->size() != STy->getNumContainedTypes())
+    if ((yyvsp[-2].ConstVector)->size() != STy->getNumContainedTypes())
       GEN_ERROR("Illegal number of initializers for structure type!");
 
     // Check to ensure that constants are compatible with the type initializer!
-    for (unsigned i = 0, e = (yyvsp[(4) - (6)].ConstVector)->size(); i != e; ++i)
-      if ((*(yyvsp[(4) - (6)].ConstVector))[i]->getType() != STy->getElementType(i))
+    for (unsigned i = 0, e = (yyvsp[-2].ConstVector)->size(); i != e; ++i)
+      if ((*(yyvsp[-2].ConstVector))[i]->getType() != STy->getElementType(i))
         GEN_ERROR("Expected type '" +
                        STy->getElementType(i)->getDescription() +
                        "' for element #" + utostr(i) +
@@ -4047,21 +3819,21 @@
     if (!STy->isPacked())
       GEN_ERROR("Packed Initializer to unpacked type '" + STy->getDescription() + "'");
 
-    (yyval.ConstVal) = ConstantStruct::get(STy, *(yyvsp[(4) - (6)].ConstVector));
-    delete (yyvsp[(1) - (6)].TypeVal); delete (yyvsp[(4) - (6)].ConstVector);
+    (yyval.ConstVal) = ConstantStruct::get(STy, *(yyvsp[-2].ConstVector));
+    delete (yyvsp[-5].TypeVal); delete (yyvsp[-2].ConstVector);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 143:
-#line 1556 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 142:
+#line 1556 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
-      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (5)].TypeVal))->getDescription());
-    const StructType *STy = dyn_cast<StructType>((yyvsp[(1) - (5)].TypeVal)->get());
+      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-4].TypeVal))->getDescription());
+    const StructType *STy = dyn_cast<StructType>((yyvsp[-4].TypeVal)->get());
     if (STy == 0)
       GEN_ERROR("Cannot make struct constant with type: '" + 
-                     (*(yyvsp[(1) - (5)].TypeVal))->getDescription() + "'!");
+                     (*(yyvsp[-4].TypeVal))->getDescription() + "'!");
 
     if (STy->getNumContainedTypes() != 0)
       GEN_ERROR("Illegal number of initializers for structure type!");
@@ -4071,44 +3843,44 @@
       GEN_ERROR("Packed Initializer to unpacked type '" + STy->getDescription() + "'");
 
     (yyval.ConstVal) = ConstantStruct::get(STy, std::vector<Constant*>());
-    delete (yyvsp[(1) - (5)].TypeVal);
+    delete (yyvsp[-4].TypeVal);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 144:
-#line 1575 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 143:
+#line 1575 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
-      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (2)].TypeVal))->getDescription());
-    const PointerType *PTy = dyn_cast<PointerType>((yyvsp[(1) - (2)].TypeVal)->get());
+      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
+    const PointerType *PTy = dyn_cast<PointerType>((yyvsp[-1].TypeVal)->get());
     if (PTy == 0)
       GEN_ERROR("Cannot make null pointer constant with type: '" + 
-                     (*(yyvsp[(1) - (2)].TypeVal))->getDescription() + "'!");
+                     (*(yyvsp[-1].TypeVal))->getDescription() + "'!");
 
     (yyval.ConstVal) = ConstantPointerNull::get(PTy);
-    delete (yyvsp[(1) - (2)].TypeVal);
+    delete (yyvsp[-1].TypeVal);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 145:
-#line 1587 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 144:
+#line 1587 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
-      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (2)].TypeVal))->getDescription());
-    (yyval.ConstVal) = UndefValue::get((yyvsp[(1) - (2)].TypeVal)->get());
-    delete (yyvsp[(1) - (2)].TypeVal);
+      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
+    (yyval.ConstVal) = UndefValue::get((yyvsp[-1].TypeVal)->get());
+    delete (yyvsp[-1].TypeVal);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 146:
-#line 1594 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 145:
+#line 1594 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
-      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (2)].TypeVal))->getDescription());
-    const PointerType *Ty = dyn_cast<PointerType>((yyvsp[(1) - (2)].TypeVal)->get());
+      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
+    const PointerType *Ty = dyn_cast<PointerType>((yyvsp[-1].TypeVal)->get());
     if (Ty == 0)
       GEN_ERROR("Global const reference must be a pointer type!");
 
@@ -4122,7 +3894,7 @@
     Function *SavedCurFn = CurFun.CurrentFunction;
     CurFun.CurrentFunction = 0;
 
-    Value *V = getValNonImprovising(Ty, (yyvsp[(2) - (2)].ValIDVal));
+    Value *V = getValNonImprovising(Ty, (yyvsp[0].ValIDVal));
     CHECK_FOR_ERROR
 
     CurFun.CurrentFunction = SavedCurFn;
@@ -4137,14 +3909,14 @@
 
       // First check to see if the forward references value is already created!
       PerModuleInfo::GlobalRefsType::iterator I =
-        CurModule.GlobalRefs.find(std::make_pair(PT, (yyvsp[(2) - (2)].ValIDVal)));
+        CurModule.GlobalRefs.find(std::make_pair(PT, (yyvsp[0].ValIDVal)));
     
       if (I != CurModule.GlobalRefs.end()) {
         V = I->second;             // Placeholder already exists, use it...
-        (yyvsp[(2) - (2)].ValIDVal).destroy();
+        (yyvsp[0].ValIDVal).destroy();
       } else {
         std::string Name;
-        if ((yyvsp[(2) - (2)].ValIDVal).Type == ValID::NameVal) Name = (yyvsp[(2) - (2)].ValIDVal).Name;
+        if ((yyvsp[0].ValIDVal).Type == ValID::NameVal) Name = (yyvsp[0].ValIDVal).Name;
 
         // Create the forward referenced global.
         GlobalValue *GV;
@@ -4159,261 +3931,263 @@
         }
 
         // Keep track of the fact that we have a forward ref to recycle it
-        CurModule.GlobalRefs.insert(std::make_pair(std::make_pair(PT, (yyvsp[(2) - (2)].ValIDVal)), GV));
+        CurModule.GlobalRefs.insert(std::make_pair(std::make_pair(PT, (yyvsp[0].ValIDVal)), GV));
         V = GV;
       }
     }
 
     (yyval.ConstVal) = cast<GlobalValue>(V);
-    delete (yyvsp[(1) - (2)].TypeVal);            // Free the type handle
+    delete (yyvsp[-1].TypeVal);            // Free the type handle
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 147:
-#line 1657 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 146:
+#line 1657 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
-      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (2)].TypeVal))->getDescription());
-    if ((yyvsp[(1) - (2)].TypeVal)->get() != (yyvsp[(2) - (2)].ConstVal)->getType())
+      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
+    if ((yyvsp[-1].TypeVal)->get() != (yyvsp[0].ConstVal)->getType())
       GEN_ERROR("Mismatched types for constant expression: " + 
-        (*(yyvsp[(1) - (2)].TypeVal))->getDescription() + " and " + (yyvsp[(2) - (2)].ConstVal)->getType()->getDescription());
-    (yyval.ConstVal) = (yyvsp[(2) - (2)].ConstVal);
-    delete (yyvsp[(1) - (2)].TypeVal);
+        (*(yyvsp[-1].TypeVal))->getDescription() + " and " + (yyvsp[0].ConstVal)->getType()->getDescription());
+    (yyval.ConstVal) = (yyvsp[0].ConstVal);
+    delete (yyvsp[-1].TypeVal);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 148:
-#line 1667 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 147:
+#line 1667 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
-      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (2)].TypeVal))->getDescription());
-    const Type *Ty = (yyvsp[(1) - (2)].TypeVal)->get();
+      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
+    const Type *Ty = (yyvsp[-1].TypeVal)->get();
     if (isa<FunctionType>(Ty) || Ty == Type::LabelTy || isa<OpaqueType>(Ty))
       GEN_ERROR("Cannot create a null initialized value of this type!");
     (yyval.ConstVal) = Constant::getNullValue(Ty);
-    delete (yyvsp[(1) - (2)].TypeVal);
+    delete (yyvsp[-1].TypeVal);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 149:
-#line 1677 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 148:
+#line 1677 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {      // integral constants
-    if (!ConstantInt::isValueValidForType((yyvsp[(1) - (2)].PrimType), (yyvsp[(2) - (2)].SInt64Val)))
+    if (!ConstantInt::isValueValidForType((yyvsp[-1].PrimType), (yyvsp[0].SInt64Val)))
       GEN_ERROR("Constant value doesn't fit in type!");
-    (yyval.ConstVal) = ConstantInt::get((yyvsp[(1) - (2)].PrimType), (yyvsp[(2) - (2)].SInt64Val));
+    (yyval.ConstVal) = ConstantInt::get((yyvsp[-1].PrimType), (yyvsp[0].SInt64Val));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 150:
-#line 1683 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 149:
+#line 1683 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {      // integral constants
-    if (!ConstantInt::isValueValidForType((yyvsp[(1) - (2)].PrimType), (yyvsp[(2) - (2)].UInt64Val)))
+    if (!ConstantInt::isValueValidForType((yyvsp[-1].PrimType), (yyvsp[0].UInt64Val)))
       GEN_ERROR("Constant value doesn't fit in type!");
-    (yyval.ConstVal) = ConstantInt::get((yyvsp[(1) - (2)].PrimType), (yyvsp[(2) - (2)].UInt64Val));
+    (yyval.ConstVal) = ConstantInt::get((yyvsp[-1].PrimType), (yyvsp[0].UInt64Val));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 151:
-#line 1689 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 150:
+#line 1689 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {                      // Boolean constants
+    assert(cast<IntegerType>((yyvsp[-1].PrimType))->getBitWidth() == 1 && "Not Bool?");
     (yyval.ConstVal) = ConstantInt::getTrue();
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 152:
-#line 1693 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 151:
+#line 1694 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {                     // Boolean constants
+    assert(cast<IntegerType>((yyvsp[-1].PrimType))->getBitWidth() == 1 && "Not Bool?");
     (yyval.ConstVal) = ConstantInt::getFalse();
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 153:
-#line 1697 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 152:
+#line 1699 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {                   // Float & Double constants
-    if (!ConstantFP::isValueValidForType((yyvsp[(1) - (2)].PrimType), (yyvsp[(2) - (2)].FPVal)))
+    if (!ConstantFP::isValueValidForType((yyvsp[-1].PrimType), (yyvsp[0].FPVal)))
       GEN_ERROR("Floating point constant invalid for type!!");
-    (yyval.ConstVal) = ConstantFP::get((yyvsp[(1) - (2)].PrimType), (yyvsp[(2) - (2)].FPVal));
+    (yyval.ConstVal) = ConstantFP::get((yyvsp[-1].PrimType), (yyvsp[0].FPVal));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 154:
-#line 1705 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 153:
+#line 1707 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
-      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(5) - (6)].TypeVal))->getDescription());
-    Constant *Val = (yyvsp[(3) - (6)].ConstVal);
-    const Type *Ty = (yyvsp[(5) - (6)].TypeVal)->get();
+      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
+    Constant *Val = (yyvsp[-3].ConstVal);
+    const Type *Ty = (yyvsp[-1].TypeVal)->get();
     if (!Val->getType()->isFirstClassType())
       GEN_ERROR("cast constant expression from a non-primitive type: '" +
                      Val->getType()->getDescription() + "'!");
     if (!Ty->isFirstClassType())
       GEN_ERROR("cast constant expression to a non-primitive type: '" +
                 Ty->getDescription() + "'!");
-    (yyval.ConstVal) = ConstantExpr::getCast((yyvsp[(1) - (6)].CastOpVal), (yyvsp[(3) - (6)].ConstVal), (yyvsp[(5) - (6)].TypeVal)->get());
-    delete (yyvsp[(5) - (6)].TypeVal);
+    (yyval.ConstVal) = ConstantExpr::getCast((yyvsp[-5].CastOpVal), (yyvsp[-3].ConstVal), (yyvsp[-1].TypeVal)->get());
+    delete (yyvsp[-1].TypeVal);
   ;}
     break;
 
-  case 155:
-#line 1719 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 154:
+#line 1721 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
-    if (!isa<PointerType>((yyvsp[(3) - (5)].ConstVal)->getType()))
+    if (!isa<PointerType>((yyvsp[-2].ConstVal)->getType()))
       GEN_ERROR("GetElementPtr requires a pointer operand!");
 
     const Type *IdxTy =
-      GetElementPtrInst::getIndexedType((yyvsp[(3) - (5)].ConstVal)->getType(), *(yyvsp[(4) - (5)].ValueList), true);
+      GetElementPtrInst::getIndexedType((yyvsp[-2].ConstVal)->getType(), *(yyvsp[-1].ValueList), true);
     if (!IdxTy)
       GEN_ERROR("Index list invalid for constant getelementptr!");
 
     std::vector<Constant*> IdxVec;
-    for (unsigned i = 0, e = (yyvsp[(4) - (5)].ValueList)->size(); i != e; ++i)
-      if (Constant *C = dyn_cast<Constant>((*(yyvsp[(4) - (5)].ValueList))[i]))
+    for (unsigned i = 0, e = (yyvsp[-1].ValueList)->size(); i != e; ++i)
+      if (Constant *C = dyn_cast<Constant>((*(yyvsp[-1].ValueList))[i]))
         IdxVec.push_back(C);
       else
         GEN_ERROR("Indices to constant getelementptr must be constants!");
 
-    delete (yyvsp[(4) - (5)].ValueList);
+    delete (yyvsp[-1].ValueList);
 
-    (yyval.ConstVal) = ConstantExpr::getGetElementPtr((yyvsp[(3) - (5)].ConstVal), IdxVec);
+    (yyval.ConstVal) = ConstantExpr::getGetElementPtr((yyvsp[-2].ConstVal), IdxVec);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 156:
-#line 1740 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 155:
+#line 1742 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
-    if ((yyvsp[(3) - (8)].ConstVal)->getType() != Type::Int1Ty)
+    if ((yyvsp[-5].ConstVal)->getType() != Type::Int1Ty)
       GEN_ERROR("Select condition must be of boolean type!");
-    if ((yyvsp[(5) - (8)].ConstVal)->getType() != (yyvsp[(7) - (8)].ConstVal)->getType())
+    if ((yyvsp[-3].ConstVal)->getType() != (yyvsp[-1].ConstVal)->getType())
       GEN_ERROR("Select operand types must match!");
-    (yyval.ConstVal) = ConstantExpr::getSelect((yyvsp[(3) - (8)].ConstVal), (yyvsp[(5) - (8)].ConstVal), (yyvsp[(7) - (8)].ConstVal));
+    (yyval.ConstVal) = ConstantExpr::getSelect((yyvsp[-5].ConstVal), (yyvsp[-3].ConstVal), (yyvsp[-1].ConstVal));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 157:
-#line 1748 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 156:
+#line 1750 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
-    if ((yyvsp[(3) - (6)].ConstVal)->getType() != (yyvsp[(5) - (6)].ConstVal)->getType())
+    if ((yyvsp[-3].ConstVal)->getType() != (yyvsp[-1].ConstVal)->getType())
       GEN_ERROR("Binary operator types must match!");
     CHECK_FOR_ERROR;
-    (yyval.ConstVal) = ConstantExpr::get((yyvsp[(1) - (6)].BinaryOpVal), (yyvsp[(3) - (6)].ConstVal), (yyvsp[(5) - (6)].ConstVal));
+    (yyval.ConstVal) = ConstantExpr::get((yyvsp[-5].BinaryOpVal), (yyvsp[-3].ConstVal), (yyvsp[-1].ConstVal));
   ;}
     break;
 
-  case 158:
-#line 1754 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 157:
+#line 1756 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
-    if ((yyvsp[(3) - (6)].ConstVal)->getType() != (yyvsp[(5) - (6)].ConstVal)->getType())
+    if ((yyvsp[-3].ConstVal)->getType() != (yyvsp[-1].ConstVal)->getType())
       GEN_ERROR("Logical operator types must match!");
-    if (!(yyvsp[(3) - (6)].ConstVal)->getType()->isIntegral()) {
-      if (!isa<PackedType>((yyvsp[(3) - (6)].ConstVal)->getType()) || 
-          !cast<PackedType>((yyvsp[(3) - (6)].ConstVal)->getType())->getElementType()->isIntegral())
+    if (!(yyvsp[-3].ConstVal)->getType()->isIntegral()) {
+      if (!isa<PackedType>((yyvsp[-3].ConstVal)->getType()) || 
+          !cast<PackedType>((yyvsp[-3].ConstVal)->getType())->getElementType()->isIntegral())
         GEN_ERROR("Logical operator requires integral operands!");
     }
-    (yyval.ConstVal) = ConstantExpr::get((yyvsp[(1) - (6)].BinaryOpVal), (yyvsp[(3) - (6)].ConstVal), (yyvsp[(5) - (6)].ConstVal));
+    (yyval.ConstVal) = ConstantExpr::get((yyvsp[-5].BinaryOpVal), (yyvsp[-3].ConstVal), (yyvsp[-1].ConstVal));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 159:
-#line 1765 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 158:
+#line 1767 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
-    if ((yyvsp[(4) - (7)].ConstVal)->getType() != (yyvsp[(6) - (7)].ConstVal)->getType())
+    if ((yyvsp[-3].ConstVal)->getType() != (yyvsp[-1].ConstVal)->getType())
       GEN_ERROR("icmp operand types must match!");
-    (yyval.ConstVal) = ConstantExpr::getICmp((yyvsp[(2) - (7)].IPredicate), (yyvsp[(4) - (7)].ConstVal), (yyvsp[(6) - (7)].ConstVal));
+    (yyval.ConstVal) = ConstantExpr::getICmp((yyvsp[-5].IPredicate), (yyvsp[-3].ConstVal), (yyvsp[-1].ConstVal));
   ;}
     break;
 
-  case 160:
-#line 1770 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 159:
+#line 1772 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
-    if ((yyvsp[(4) - (7)].ConstVal)->getType() != (yyvsp[(6) - (7)].ConstVal)->getType())
+    if ((yyvsp[-3].ConstVal)->getType() != (yyvsp[-1].ConstVal)->getType())
       GEN_ERROR("fcmp operand types must match!");
-    (yyval.ConstVal) = ConstantExpr::getFCmp((yyvsp[(2) - (7)].FPredicate), (yyvsp[(4) - (7)].ConstVal), (yyvsp[(6) - (7)].ConstVal));
+    (yyval.ConstVal) = ConstantExpr::getFCmp((yyvsp[-5].FPredicate), (yyvsp[-3].ConstVal), (yyvsp[-1].ConstVal));
   ;}
     break;
 
-  case 161:
-#line 1775 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 160:
+#line 1777 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
-    if ((yyvsp[(5) - (6)].ConstVal)->getType() != Type::Int8Ty)
+    if ((yyvsp[-1].ConstVal)->getType() != Type::Int8Ty)
       GEN_ERROR("Shift count for shift constant must be i8 type!");
-    if (!(yyvsp[(3) - (6)].ConstVal)->getType()->isInteger())
+    if (!(yyvsp[-3].ConstVal)->getType()->isInteger())
       GEN_ERROR("Shift constant expression requires integer operand!");
     CHECK_FOR_ERROR;
-    (yyval.ConstVal) = ConstantExpr::get((yyvsp[(1) - (6)].OtherOpVal), (yyvsp[(3) - (6)].ConstVal), (yyvsp[(5) - (6)].ConstVal));
+    (yyval.ConstVal) = ConstantExpr::get((yyvsp[-5].OtherOpVal), (yyvsp[-3].ConstVal), (yyvsp[-1].ConstVal));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 162:
-#line 1784 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 161:
+#line 1786 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
-    if (!ExtractElementInst::isValidOperands((yyvsp[(3) - (6)].ConstVal), (yyvsp[(5) - (6)].ConstVal)))
+    if (!ExtractElementInst::isValidOperands((yyvsp[-3].ConstVal), (yyvsp[-1].ConstVal)))
       GEN_ERROR("Invalid extractelement operands!");
-    (yyval.ConstVal) = ConstantExpr::getExtractElement((yyvsp[(3) - (6)].ConstVal), (yyvsp[(5) - (6)].ConstVal));
+    (yyval.ConstVal) = ConstantExpr::getExtractElement((yyvsp[-3].ConstVal), (yyvsp[-1].ConstVal));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 163:
-#line 1790 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 162:
+#line 1792 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
-    if (!InsertElementInst::isValidOperands((yyvsp[(3) - (8)].ConstVal), (yyvsp[(5) - (8)].ConstVal), (yyvsp[(7) - (8)].ConstVal)))
+    if (!InsertElementInst::isValidOperands((yyvsp[-5].ConstVal), (yyvsp[-3].ConstVal), (yyvsp[-1].ConstVal)))
       GEN_ERROR("Invalid insertelement operands!");
-    (yyval.ConstVal) = ConstantExpr::getInsertElement((yyvsp[(3) - (8)].ConstVal), (yyvsp[(5) - (8)].ConstVal), (yyvsp[(7) - (8)].ConstVal));
+    (yyval.ConstVal) = ConstantExpr::getInsertElement((yyvsp[-5].ConstVal), (yyvsp[-3].ConstVal), (yyvsp[-1].ConstVal));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 164:
-#line 1796 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 163:
+#line 1798 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
-    if (!ShuffleVectorInst::isValidOperands((yyvsp[(3) - (8)].ConstVal), (yyvsp[(5) - (8)].ConstVal), (yyvsp[(7) - (8)].ConstVal)))
+    if (!ShuffleVectorInst::isValidOperands((yyvsp[-5].ConstVal), (yyvsp[-3].ConstVal), (yyvsp[-1].ConstVal)))
       GEN_ERROR("Invalid shufflevector operands!");
-    (yyval.ConstVal) = ConstantExpr::getShuffleVector((yyvsp[(3) - (8)].ConstVal), (yyvsp[(5) - (8)].ConstVal), (yyvsp[(7) - (8)].ConstVal));
+    (yyval.ConstVal) = ConstantExpr::getShuffleVector((yyvsp[-5].ConstVal), (yyvsp[-3].ConstVal), (yyvsp[-1].ConstVal));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 165:
-#line 1805 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 164:
+#line 1807 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
-    ((yyval.ConstVector) = (yyvsp[(1) - (3)].ConstVector))->push_back((yyvsp[(3) - (3)].ConstVal));
+    ((yyval.ConstVector) = (yyvsp[-2].ConstVector))->push_back((yyvsp[0].ConstVal));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 166:
-#line 1809 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 165:
+#line 1811 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ConstVector) = new std::vector<Constant*>();
-    (yyval.ConstVector)->push_back((yyvsp[(1) - (1)].ConstVal));
+    (yyval.ConstVector)->push_back((yyvsp[0].ConstVal));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 167:
-#line 1817 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 166:
+#line 1819 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.BoolVal) = false; ;}
     break;
 
-  case 168:
-#line 1817 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 167:
+#line 1819 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.BoolVal) = true; ;}
     break;
 
-  case 169:
-#line 1828 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 168:
+#line 1830 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ModuleVal) = ParserResult = CurModule.CurrentModule;
     CurModule.ModuleDone();
@@ -4421,8 +4195,8 @@
   ;}
     break;
 
-  case 170:
-#line 1833 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 169:
+#line 1835 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ModuleVal) = ParserResult = CurModule.CurrentModule;
     CurModule.ModuleDone();
@@ -4430,40 +4204,40 @@
   ;}
     break;
 
-  case 173:
-#line 1846 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 172:
+#line 1848 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { CurFun.isDeclare = false ;}
     break;
 
-  case 174:
-#line 1846 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 173:
+#line 1848 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     CurFun.FunctionDone();
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 175:
-#line 1850 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 174:
+#line 1852 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { CurFun.isDeclare = true; ;}
     break;
 
-  case 176:
-#line 1850 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 175:
+#line 1852 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 177:
-#line 1853 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 176:
+#line 1855 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 178:
-#line 1856 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 177:
+#line 1858 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     // Emit an error if there are any unresolved types left.
     if (!CurModule.LateResolveTypes.empty()) {
@@ -4478,11 +4252,11 @@
   ;}
     break;
 
-  case 179:
-#line 1868 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 178:
+#line 1870 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
-      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(3) - (3)].TypeVal))->getDescription());
+      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[0].TypeVal))->getDescription());
     // Eagerly resolve types.  This is not an optimization, this is a
     // requirement that is due to the fact that we could have this:
     //
@@ -4492,110 +4266,110 @@
     // If types are not resolved eagerly, then the two types will not be
     // determined to be the same type!
     //
-    ResolveTypeTo((yyvsp[(1) - (3)].StrVal), *(yyvsp[(3) - (3)].TypeVal));
+    ResolveTypeTo((yyvsp[-2].StrVal), *(yyvsp[0].TypeVal));
 
-    if (!setTypeName(*(yyvsp[(3) - (3)].TypeVal), (yyvsp[(1) - (3)].StrVal)) && !(yyvsp[(1) - (3)].StrVal)) {
+    if (!setTypeName(*(yyvsp[0].TypeVal), (yyvsp[-2].StrVal)) && !(yyvsp[-2].StrVal)) {
       CHECK_FOR_ERROR
       // If this is a named type that is not a redefinition, add it to the slot
       // table.
-      CurModule.Types.push_back(*(yyvsp[(3) - (3)].TypeVal));
+      CurModule.Types.push_back(*(yyvsp[0].TypeVal));
     }
 
-    delete (yyvsp[(3) - (3)].TypeVal);
+    delete (yyvsp[0].TypeVal);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 180:
-#line 1892 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 179:
+#line 1894 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
-    ResolveTypeTo((yyvsp[(1) - (3)].StrVal), (yyvsp[(3) - (3)].PrimType));
+    ResolveTypeTo((yyvsp[-2].StrVal), (yyvsp[0].PrimType));
 
-    if (!setTypeName((yyvsp[(3) - (3)].PrimType), (yyvsp[(1) - (3)].StrVal)) && !(yyvsp[(1) - (3)].StrVal)) {
+    if (!setTypeName((yyvsp[0].PrimType), (yyvsp[-2].StrVal)) && !(yyvsp[-2].StrVal)) {
       CHECK_FOR_ERROR
       // If this is a named type that is not a redefinition, add it to the slot
       // table.
-      CurModule.Types.push_back((yyvsp[(3) - (3)].PrimType));
+      CurModule.Types.push_back((yyvsp[0].PrimType));
     }
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 181:
-#line 1903 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 180:
+#line 1905 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { /* "Externally Visible" Linkage */
-    if ((yyvsp[(4) - (4)].ConstVal) == 0) 
+    if ((yyvsp[0].ConstVal) == 0) 
       GEN_ERROR("Global value initializer is not a constant!");
-    CurGV = ParseGlobalVariable((yyvsp[(1) - (4)].StrVal), GlobalValue::ExternalLinkage,
-                                (yyvsp[(2) - (4)].Visibility), (yyvsp[(3) - (4)].BoolVal), (yyvsp[(4) - (4)].ConstVal)->getType(), (yyvsp[(4) - (4)].ConstVal));
+    CurGV = ParseGlobalVariable((yyvsp[-3].StrVal), GlobalValue::ExternalLinkage,
+                                (yyvsp[-2].Visibility), (yyvsp[-1].BoolVal), (yyvsp[0].ConstVal)->getType(), (yyvsp[0].ConstVal));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 182:
-#line 1909 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 181:
+#line 1911 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     CurGV = 0;
   ;}
     break;
 
-  case 183:
-#line 1912 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 182:
+#line 1914 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
-    if ((yyvsp[(5) - (5)].ConstVal) == 0) 
+    if ((yyvsp[0].ConstVal) == 0) 
       GEN_ERROR("Global value initializer is not a constant!");
-    CurGV = ParseGlobalVariable((yyvsp[(1) - (5)].StrVal), (yyvsp[(2) - (5)].Linkage), (yyvsp[(3) - (5)].Visibility), (yyvsp[(4) - (5)].BoolVal), (yyvsp[(5) - (5)].ConstVal)->getType(), (yyvsp[(5) - (5)].ConstVal));
+    CurGV = ParseGlobalVariable((yyvsp[-4].StrVal), (yyvsp[-3].Linkage), (yyvsp[-2].Visibility), (yyvsp[-1].BoolVal), (yyvsp[0].ConstVal)->getType(), (yyvsp[0].ConstVal));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 184:
-#line 1917 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 183:
+#line 1919 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     CurGV = 0;
   ;}
     break;
 
-  case 185:
-#line 1920 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 184:
+#line 1922 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
-      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(5) - (5)].TypeVal))->getDescription());
-    CurGV = ParseGlobalVariable((yyvsp[(1) - (5)].StrVal), (yyvsp[(2) - (5)].Linkage), (yyvsp[(3) - (5)].Visibility), (yyvsp[(4) - (5)].BoolVal), *(yyvsp[(5) - (5)].TypeVal), 0);
+      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[0].TypeVal))->getDescription());
+    CurGV = ParseGlobalVariable((yyvsp[-4].StrVal), (yyvsp[-3].Linkage), (yyvsp[-2].Visibility), (yyvsp[-1].BoolVal), *(yyvsp[0].TypeVal), 0);
     CHECK_FOR_ERROR
-    delete (yyvsp[(5) - (5)].TypeVal);
+    delete (yyvsp[0].TypeVal);
   ;}
     break;
 
-  case 186:
-#line 1926 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 185:
+#line 1928 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     CurGV = 0;
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 187:
-#line 1930 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 186:
+#line 1932 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { 
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 188:
-#line 1933 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 187:
+#line 1935 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 189:
-#line 1939 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 188:
+#line 1941 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
   const std::string &AsmSoFar = CurModule.CurrentModule->getModuleInlineAsm();
-  char *EndStr = UnEscapeLexed((yyvsp[(1) - (1)].StrVal), true);
-  std::string NewAsm((yyvsp[(1) - (1)].StrVal), EndStr);
-  free((yyvsp[(1) - (1)].StrVal));
+  char *EndStr = UnEscapeLexed((yyvsp[0].StrVal), true);
+  std::string NewAsm((yyvsp[0].StrVal), EndStr);
+  free((yyvsp[0].StrVal));
 
   if (AsmSoFar.empty())
     CurModule.CurrentModule->setModuleInlineAsm(NewAsm);
@@ -4605,123 +4379,123 @@
 ;}
     break;
 
-  case 190:
-#line 1952 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 189:
+#line 1954 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Endianness) = Module::BigEndian; ;}
     break;
 
-  case 191:
-#line 1953 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 190:
+#line 1955 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Endianness) = Module::LittleEndian; ;}
     break;
 
-  case 192:
-#line 1955 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 191:
+#line 1957 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
-    CurModule.CurrentModule->setEndianness((yyvsp[(3) - (3)].Endianness));
+    CurModule.CurrentModule->setEndianness((yyvsp[0].Endianness));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 193:
-#line 1959 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 192:
+#line 1961 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
-    if ((yyvsp[(3) - (3)].UInt64Val) == 32)
+    if ((yyvsp[0].UInt64Val) == 32)
       CurModule.CurrentModule->setPointerSize(Module::Pointer32);
-    else if ((yyvsp[(3) - (3)].UInt64Val) == 64)
+    else if ((yyvsp[0].UInt64Val) == 64)
       CurModule.CurrentModule->setPointerSize(Module::Pointer64);
     else
-      GEN_ERROR("Invalid pointer size: '" + utostr((yyvsp[(3) - (3)].UInt64Val)) + "'!");
+      GEN_ERROR("Invalid pointer size: '" + utostr((yyvsp[0].UInt64Val)) + "'!");
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 194:
-#line 1968 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 193:
+#line 1970 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
-    CurModule.CurrentModule->setTargetTriple((yyvsp[(3) - (3)].StrVal));
-    free((yyvsp[(3) - (3)].StrVal));
+    CurModule.CurrentModule->setTargetTriple((yyvsp[0].StrVal));
+    free((yyvsp[0].StrVal));
   ;}
     break;
 
-  case 195:
-#line 1972 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 194:
+#line 1974 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
-    CurModule.CurrentModule->setDataLayout((yyvsp[(3) - (3)].StrVal));
-    free((yyvsp[(3) - (3)].StrVal));
+    CurModule.CurrentModule->setDataLayout((yyvsp[0].StrVal));
+    free((yyvsp[0].StrVal));
   ;}
     break;
 
-  case 197:
-#line 1979 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 196:
+#line 1981 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
-          CurModule.CurrentModule->addLibrary((yyvsp[(3) - (3)].StrVal));
-          free((yyvsp[(3) - (3)].StrVal));
+          CurModule.CurrentModule->addLibrary((yyvsp[0].StrVal));
+          free((yyvsp[0].StrVal));
           CHECK_FOR_ERROR
         ;}
     break;
 
-  case 198:
-#line 1984 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 197:
+#line 1986 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
-          CurModule.CurrentModule->addLibrary((yyvsp[(1) - (1)].StrVal));
-          free((yyvsp[(1) - (1)].StrVal));
+          CurModule.CurrentModule->addLibrary((yyvsp[0].StrVal));
+          free((yyvsp[0].StrVal));
           CHECK_FOR_ERROR
         ;}
     break;
 
-  case 199:
-#line 1989 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 198:
+#line 1991 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
           CHECK_FOR_ERROR
         ;}
     break;
 
-  case 203:
-#line 1999 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 202:
+#line 2001 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.StrVal) = 0; ;}
     break;
 
-  case 204:
-#line 2001 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 203:
+#line 2003 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
-      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(3) - (5)].TypeVal))->getDescription());
-    if (*(yyvsp[(3) - (5)].TypeVal) == Type::VoidTy)
+      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-2].TypeVal))->getDescription());
+    if (*(yyvsp[-2].TypeVal) == Type::VoidTy)
       GEN_ERROR("void typed arguments are invalid!");
-    ArgListEntry E; E.Attrs = (yyvsp[(4) - (5)].ParamAttrs); E.Ty = (yyvsp[(3) - (5)].TypeVal); E.Name = (yyvsp[(5) - (5)].StrVal);
-    (yyval.ArgList) = (yyvsp[(1) - (5)].ArgList);
-    (yyvsp[(1) - (5)].ArgList)->push_back(E);
+    ArgListEntry E; E.Attrs = (yyvsp[-1].ParamAttrs); E.Ty = (yyvsp[-2].TypeVal); E.Name = (yyvsp[0].StrVal);
+    (yyval.ArgList) = (yyvsp[-4].ArgList);
+    (yyvsp[-4].ArgList)->push_back(E);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 205:
-#line 2011 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 204:
+#line 2013 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
-      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (3)].TypeVal))->getDescription());
-    if (*(yyvsp[(1) - (3)].TypeVal) == Type::VoidTy)
+      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-2].TypeVal))->getDescription());
+    if (*(yyvsp[-2].TypeVal) == Type::VoidTy)
       GEN_ERROR("void typed arguments are invalid!");
-    ArgListEntry E; E.Attrs = (yyvsp[(2) - (3)].ParamAttrs); E.Ty = (yyvsp[(1) - (3)].TypeVal); E.Name = (yyvsp[(3) - (3)].StrVal);
+    ArgListEntry E; E.Attrs = (yyvsp[-1].ParamAttrs); E.Ty = (yyvsp[-2].TypeVal); E.Name = (yyvsp[0].StrVal);
     (yyval.ArgList) = new ArgListType;
     (yyval.ArgList)->push_back(E);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 206:
-#line 2022 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 205:
+#line 2024 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
-    (yyval.ArgList) = (yyvsp[(1) - (1)].ArgList);
+    (yyval.ArgList) = (yyvsp[0].ArgList);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 207:
-#line 2026 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 206:
+#line 2028 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
-    (yyval.ArgList) = (yyvsp[(1) - (3)].ArgList);
+    (yyval.ArgList) = (yyvsp[-2].ArgList);
     struct ArgListEntry E;
     E.Ty = new PATypeHolder(Type::VoidTy);
     E.Name = 0;
@@ -4731,8 +4505,8 @@
   ;}
     break;
 
-  case 208:
-#line 2035 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 207:
+#line 2037 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ArgList) = new ArgListType;
     struct ArgListEntry E;
@@ -4744,31 +4518,31 @@
   ;}
     break;
 
-  case 209:
-#line 2044 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 208:
+#line 2046 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ArgList) = 0;
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 210:
-#line 2050 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 209:
+#line 2052 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
-  UnEscapeLexed((yyvsp[(3) - (9)].StrVal));
-  std::string FunctionName((yyvsp[(3) - (9)].StrVal));
-  free((yyvsp[(3) - (9)].StrVal));  // Free strdup'd memory!
+  UnEscapeLexed((yyvsp[-6].StrVal));
+  std::string FunctionName((yyvsp[-6].StrVal));
+  free((yyvsp[-6].StrVal));  // Free strdup'd memory!
   
   // Check the function result for abstractness if this is a define. We should
   // have no abstract types at this point
-  if (!CurFun.isDeclare && CurModule.TypeIsUnresolved((yyvsp[(2) - (9)].TypeVal)))
-    GEN_ERROR("Reference to abstract result: "+ (yyvsp[(2) - (9)].TypeVal)->get()->getDescription());
+  if (!CurFun.isDeclare && CurModule.TypeIsUnresolved((yyvsp[-7].TypeVal)))
+    GEN_ERROR("Reference to abstract result: "+ (yyvsp[-7].TypeVal)->get()->getDescription());
 
   std::vector<const Type*> ParamTypeList;
   std::vector<FunctionType::ParameterAttributes> ParamAttrs;
-  ParamAttrs.push_back((yyvsp[(7) - (9)].ParamAttrs));
-  if ((yyvsp[(5) - (9)].ArgList)) {   // If there are arguments...
-    for (ArgListType::iterator I = (yyvsp[(5) - (9)].ArgList)->begin(); I != (yyvsp[(5) - (9)].ArgList)->end(); ++I) {
+  ParamAttrs.push_back((yyvsp[-2].ParamAttrs));
+  if ((yyvsp[-4].ArgList)) {   // If there are arguments...
+    for (ArgListType::iterator I = (yyvsp[-4].ArgList)->begin(); I != (yyvsp[-4].ArgList)->end(); ++I) {
       const Type* Ty = I->Ty->get();
       if (!CurFun.isDeclare && CurModule.TypeIsUnresolved(I->Ty))
         GEN_ERROR("Reference to abstract argument: " + Ty->getDescription());
@@ -4781,10 +4555,10 @@
   bool isVarArg = ParamTypeList.size() && ParamTypeList.back() == Type::VoidTy;
   if (isVarArg) ParamTypeList.pop_back();
 
-  FunctionType *FT = FunctionType::get(*(yyvsp[(2) - (9)].TypeVal), ParamTypeList, isVarArg,
+  FunctionType *FT = FunctionType::get(*(yyvsp[-7].TypeVal), ParamTypeList, isVarArg,
                                        ParamAttrs);
   const PointerType *PFT = PointerType::get(FT);
-  delete (yyvsp[(2) - (9)].TypeVal);
+  delete (yyvsp[-7].TypeVal);
 
   ValID ID;
   if (!FunctionName.empty()) {
@@ -4829,24 +4603,24 @@
     Fn->setLinkage(CurFun.Linkage);
     Fn->setVisibility(CurFun.Visibility);
   }
-  Fn->setCallingConv((yyvsp[(1) - (9)].UIntVal));
-  Fn->setAlignment((yyvsp[(9) - (9)].UIntVal));
-  if ((yyvsp[(8) - (9)].StrVal)) {
-    Fn->setSection((yyvsp[(8) - (9)].StrVal));
-    free((yyvsp[(8) - (9)].StrVal));
+  Fn->setCallingConv((yyvsp[-8].UIntVal));
+  Fn->setAlignment((yyvsp[0].UIntVal));
+  if ((yyvsp[-1].StrVal)) {
+    Fn->setSection((yyvsp[-1].StrVal));
+    free((yyvsp[-1].StrVal));
   }
 
   // Add all of the arguments we parsed to the function...
-  if ((yyvsp[(5) - (9)].ArgList)) {                     // Is null if empty...
+  if ((yyvsp[-4].ArgList)) {                     // Is null if empty...
     if (isVarArg) {  // Nuke the last entry
-      assert((yyvsp[(5) - (9)].ArgList)->back().Ty->get() == Type::VoidTy && (yyvsp[(5) - (9)].ArgList)->back().Name == 0&&
+      assert((yyvsp[-4].ArgList)->back().Ty->get() == Type::VoidTy && (yyvsp[-4].ArgList)->back().Name == 0&&
              "Not a varargs marker!");
-      delete (yyvsp[(5) - (9)].ArgList)->back().Ty;
-      (yyvsp[(5) - (9)].ArgList)->pop_back();  // Delete the last entry
+      delete (yyvsp[-4].ArgList)->back().Ty;
+      (yyvsp[-4].ArgList)->pop_back();  // Delete the last entry
     }
     Function::arg_iterator ArgIt = Fn->arg_begin();
     unsigned Idx = 1;
-    for (ArgListType::iterator I = (yyvsp[(5) - (9)].ArgList)->begin(); I != (yyvsp[(5) - (9)].ArgList)->end(); ++I, ++ArgIt) {
+    for (ArgListType::iterator I = (yyvsp[-4].ArgList)->begin(); I != (yyvsp[-4].ArgList)->end(); ++I, ++ArgIt) {
       delete I->Ty;                          // Delete the typeholder...
       setValueName(ArgIt, I->Name);           // Insert arg into symtab...
       CHECK_FOR_ERROR
@@ -4854,128 +4628,128 @@
       Idx++;
     }
 
-    delete (yyvsp[(5) - (9)].ArgList);                     // We're now done with the argument list
+    delete (yyvsp[-4].ArgList);                     // We're now done with the argument list
   }
   CHECK_FOR_ERROR
 ;}
     break;
 
-  case 213:
-#line 2157 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 212:
+#line 2159 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
   (yyval.FunctionVal) = CurFun.CurrentFunction;
 
   // Make sure that we keep track of the linkage type even if there was a
   // previous "declare".
-  (yyval.FunctionVal)->setLinkage((yyvsp[(1) - (4)].Linkage));
-  (yyval.FunctionVal)->setVisibility((yyvsp[(2) - (4)].Visibility));
+  (yyval.FunctionVal)->setLinkage((yyvsp[-3].Linkage));
+  (yyval.FunctionVal)->setVisibility((yyvsp[-2].Visibility));
 ;}
     break;
 
-  case 216:
-#line 2168 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 215:
+#line 2170 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
-  (yyval.FunctionVal) = (yyvsp[(1) - (2)].FunctionVal);
+  (yyval.FunctionVal) = (yyvsp[-1].FunctionVal);
   CHECK_FOR_ERROR
 ;}
     break;
 
-  case 217:
-#line 2173 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 216:
+#line 2175 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
-    CurFun.CurrentFunction->setLinkage((yyvsp[(1) - (3)].Linkage));
-    CurFun.CurrentFunction->setVisibility((yyvsp[(2) - (3)].Visibility));
+    CurFun.CurrentFunction->setLinkage((yyvsp[-2].Linkage));
+    CurFun.CurrentFunction->setVisibility((yyvsp[-1].Visibility));
     (yyval.FunctionVal) = CurFun.CurrentFunction;
     CurFun.FunctionDone();
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 218:
-#line 2185 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 217:
+#line 2187 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.BoolVal) = false;
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 219:
-#line 2189 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 218:
+#line 2191 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.BoolVal) = true;
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 220:
-#line 2194 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 219:
+#line 2196 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {    // A reference to a direct constant
-    (yyval.ValIDVal) = ValID::create((yyvsp[(1) - (1)].SInt64Val));
+    (yyval.ValIDVal) = ValID::create((yyvsp[0].SInt64Val));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 221:
-#line 2198 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 220:
+#line 2200 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
-    (yyval.ValIDVal) = ValID::create((yyvsp[(1) - (1)].UInt64Val));
+    (yyval.ValIDVal) = ValID::create((yyvsp[0].UInt64Val));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 222:
-#line 2202 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 221:
+#line 2204 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {                     // Perhaps it's an FP constant?
-    (yyval.ValIDVal) = ValID::create((yyvsp[(1) - (1)].FPVal));
+    (yyval.ValIDVal) = ValID::create((yyvsp[0].FPVal));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 223:
-#line 2206 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 222:
+#line 2208 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ValIDVal) = ValID::create(ConstantInt::getTrue());
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 224:
-#line 2210 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 223:
+#line 2212 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ValIDVal) = ValID::create(ConstantInt::getFalse());
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 225:
-#line 2214 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 224:
+#line 2216 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ValIDVal) = ValID::createNull();
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 226:
-#line 2218 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 225:
+#line 2220 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ValIDVal) = ValID::createUndef();
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 227:
-#line 2222 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 226:
+#line 2224 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {     // A vector zero constant.
     (yyval.ValIDVal) = ValID::createZeroInit();
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 228:
-#line 2226 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 227:
+#line 2228 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { // Nonempty unsized packed vector
-    const Type *ETy = (*(yyvsp[(2) - (3)].ConstVector))[0]->getType();
-    int NumElements = (yyvsp[(2) - (3)].ConstVector)->size(); 
+    const Type *ETy = (*(yyvsp[-1].ConstVector))[0]->getType();
+    int NumElements = (yyvsp[-1].ConstVector)->size(); 
     
     PackedType* pt = PackedType::get(ETy, NumElements);
     PATypeHolder* PTy = new PATypeHolder(
@@ -4987,113 +4761,113 @@
                                          );
     
     // Verify all elements are correct type!
-    for (unsigned i = 0; i < (yyvsp[(2) - (3)].ConstVector)->size(); i++) {
-      if (ETy != (*(yyvsp[(2) - (3)].ConstVector))[i]->getType())
+    for (unsigned i = 0; i < (yyvsp[-1].ConstVector)->size(); i++) {
+      if (ETy != (*(yyvsp[-1].ConstVector))[i]->getType())
         GEN_ERROR("Element #" + utostr(i) + " is not of type '" + 
                      ETy->getDescription() +"' as required!\nIt is of type '" +
-                     (*(yyvsp[(2) - (3)].ConstVector))[i]->getType()->getDescription() + "'.");
+                     (*(yyvsp[-1].ConstVector))[i]->getType()->getDescription() + "'.");
     }
 
-    (yyval.ValIDVal) = ValID::create(ConstantPacked::get(pt, *(yyvsp[(2) - (3)].ConstVector)));
-    delete PTy; delete (yyvsp[(2) - (3)].ConstVector);
+    (yyval.ValIDVal) = ValID::create(ConstantPacked::get(pt, *(yyvsp[-1].ConstVector)));
+    delete PTy; delete (yyvsp[-1].ConstVector);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 229:
-#line 2251 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 228:
+#line 2253 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
-    (yyval.ValIDVal) = ValID::create((yyvsp[(1) - (1)].ConstVal));
+    (yyval.ValIDVal) = ValID::create((yyvsp[0].ConstVal));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 230:
-#line 2255 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 229:
+#line 2257 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
-    char *End = UnEscapeLexed((yyvsp[(3) - (5)].StrVal), true);
-    std::string AsmStr = std::string((yyvsp[(3) - (5)].StrVal), End);
-    End = UnEscapeLexed((yyvsp[(5) - (5)].StrVal), true);
-    std::string Constraints = std::string((yyvsp[(5) - (5)].StrVal), End);
-    (yyval.ValIDVal) = ValID::createInlineAsm(AsmStr, Constraints, (yyvsp[(2) - (5)].BoolVal));
-    free((yyvsp[(3) - (5)].StrVal));
-    free((yyvsp[(5) - (5)].StrVal));
+    char *End = UnEscapeLexed((yyvsp[-2].StrVal), true);
+    std::string AsmStr = std::string((yyvsp[-2].StrVal), End);
+    End = UnEscapeLexed((yyvsp[0].StrVal), true);
+    std::string Constraints = std::string((yyvsp[0].StrVal), End);
+    (yyval.ValIDVal) = ValID::createInlineAsm(AsmStr, Constraints, (yyvsp[-3].BoolVal));
+    free((yyvsp[-2].StrVal));
+    free((yyvsp[0].StrVal));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 231:
-#line 2269 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 230:
+#line 2271 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {  // Is it an integer reference...?
-    (yyval.ValIDVal) = ValID::create((yyvsp[(1) - (1)].SIntVal));
+    (yyval.ValIDVal) = ValID::create((yyvsp[0].SIntVal));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 232:
-#line 2273 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 231:
+#line 2275 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {                   // Is it a named reference...?
-    (yyval.ValIDVal) = ValID::create((yyvsp[(1) - (1)].StrVal));
+    (yyval.ValIDVal) = ValID::create((yyvsp[0].StrVal));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 235:
-#line 2285 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 234:
+#line 2287 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
-      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (2)].TypeVal))->getDescription());
-    (yyval.ValueVal) = getVal(*(yyvsp[(1) - (2)].TypeVal), (yyvsp[(2) - (2)].ValIDVal)); 
-    delete (yyvsp[(1) - (2)].TypeVal);
+      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
+    (yyval.ValueVal) = getVal(*(yyvsp[-1].TypeVal), (yyvsp[0].ValIDVal)); 
+    delete (yyvsp[-1].TypeVal);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 236:
-#line 2294 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 235:
+#line 2296 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
-    (yyval.FunctionVal) = (yyvsp[(1) - (2)].FunctionVal);
+    (yyval.FunctionVal) = (yyvsp[-1].FunctionVal);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 237:
-#line 2298 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 236:
+#line 2300 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { // Do not allow functions with 0 basic blocks   
-    (yyval.FunctionVal) = (yyvsp[(1) - (2)].FunctionVal);
+    (yyval.FunctionVal) = (yyvsp[-1].FunctionVal);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 238:
-#line 2307 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 237:
+#line 2309 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
-    setValueName((yyvsp[(3) - (3)].TermInstVal), (yyvsp[(2) - (3)].StrVal));
+    setValueName((yyvsp[0].TermInstVal), (yyvsp[-1].StrVal));
     CHECK_FOR_ERROR
-    InsertValue((yyvsp[(3) - (3)].TermInstVal));
+    InsertValue((yyvsp[0].TermInstVal));
 
-    (yyvsp[(1) - (3)].BasicBlockVal)->getInstList().push_back((yyvsp[(3) - (3)].TermInstVal));
-    InsertValue((yyvsp[(1) - (3)].BasicBlockVal));
-    (yyval.BasicBlockVal) = (yyvsp[(1) - (3)].BasicBlockVal);
+    (yyvsp[-2].BasicBlockVal)->getInstList().push_back((yyvsp[0].TermInstVal));
+    InsertValue((yyvsp[-2].BasicBlockVal));
+    (yyval.BasicBlockVal) = (yyvsp[-2].BasicBlockVal);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 239:
-#line 2318 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 238:
+#line 2320 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
-    if (CastInst *CI1 = dyn_cast<CastInst>((yyvsp[(2) - (2)].InstVal)))
+    if (CastInst *CI1 = dyn_cast<CastInst>((yyvsp[0].InstVal)))
       if (CastInst *CI2 = dyn_cast<CastInst>(CI1->getOperand(0)))
         if (CI2->getParent() == 0)
-          (yyvsp[(1) - (2)].BasicBlockVal)->getInstList().push_back(CI2);
-    (yyvsp[(1) - (2)].BasicBlockVal)->getInstList().push_back((yyvsp[(2) - (2)].InstVal));
-    (yyval.BasicBlockVal) = (yyvsp[(1) - (2)].BasicBlockVal);
+          (yyvsp[-1].BasicBlockVal)->getInstList().push_back(CI2);
+    (yyvsp[-1].BasicBlockVal)->getInstList().push_back((yyvsp[0].InstVal));
+    (yyval.BasicBlockVal) = (yyvsp[-1].BasicBlockVal);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 240:
-#line 2327 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 239:
+#line 2329 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.BasicBlockVal) = getBBVal(ValID::create((int)CurFun.NextBBNum++), true);
     CHECK_FOR_ERROR
@@ -5108,10 +4882,10 @@
   ;}
     break;
 
-  case 241:
-#line 2339 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 240:
+#line 2341 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
-    (yyval.BasicBlockVal) = getBBVal(ValID::create((yyvsp[(1) - (1)].StrVal)), true);
+    (yyval.BasicBlockVal) = getBBVal(ValID::create((yyvsp[0].StrVal)), true);
     CHECK_FOR_ERROR
 
     // Make sure to move the basic block to the correct location in the
@@ -5124,73 +4898,74 @@
   ;}
     break;
 
-  case 242:
-#line 2352 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 241:
+#line 2354 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {              // Return with a result...
-    (yyval.TermInstVal) = new ReturnInst((yyvsp[(2) - (2)].ValueVal));
+    (yyval.TermInstVal) = new ReturnInst((yyvsp[0].ValueVal));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 243:
-#line 2356 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 242:
+#line 2358 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {                                       // Return with no result...
     (yyval.TermInstVal) = new ReturnInst();
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 244:
-#line 2360 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 243:
+#line 2362 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {                         // Unconditional Branch...
-    BasicBlock* tmpBB = getBBVal((yyvsp[(3) - (3)].ValIDVal));
+    BasicBlock* tmpBB = getBBVal((yyvsp[0].ValIDVal));
     CHECK_FOR_ERROR
     (yyval.TermInstVal) = new BranchInst(tmpBB);
   ;}
     break;
 
-  case 245:
-#line 2365 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 244:
+#line 2367 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {  
-    BasicBlock* tmpBBA = getBBVal((yyvsp[(6) - (9)].ValIDVal));
+    assert(cast<IntegerType>((yyvsp[-7].PrimType))->getBitWidth() == 1 && "Not Bool?");
+    BasicBlock* tmpBBA = getBBVal((yyvsp[-3].ValIDVal));
     CHECK_FOR_ERROR
-    BasicBlock* tmpBBB = getBBVal((yyvsp[(9) - (9)].ValIDVal));
+    BasicBlock* tmpBBB = getBBVal((yyvsp[0].ValIDVal));
     CHECK_FOR_ERROR
-    Value* tmpVal = getVal(Type::Int1Ty, (yyvsp[(3) - (9)].ValIDVal));
+    Value* tmpVal = getVal(Type::Int1Ty, (yyvsp[-6].ValIDVal));
     CHECK_FOR_ERROR
     (yyval.TermInstVal) = new BranchInst(tmpBBA, tmpBBB, tmpVal);
   ;}
     break;
 
-  case 246:
-#line 2374 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 245:
+#line 2377 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
-    Value* tmpVal = getVal((yyvsp[(2) - (9)].PrimType), (yyvsp[(3) - (9)].ValIDVal));
+    Value* tmpVal = getVal((yyvsp[-7].PrimType), (yyvsp[-6].ValIDVal));
     CHECK_FOR_ERROR
-    BasicBlock* tmpBB = getBBVal((yyvsp[(6) - (9)].ValIDVal));
+    BasicBlock* tmpBB = getBBVal((yyvsp[-3].ValIDVal));
     CHECK_FOR_ERROR
-    SwitchInst *S = new SwitchInst(tmpVal, tmpBB, (yyvsp[(8) - (9)].JumpTable)->size());
+    SwitchInst *S = new SwitchInst(tmpVal, tmpBB, (yyvsp[-1].JumpTable)->size());
     (yyval.TermInstVal) = S;
 
-    std::vector<std::pair<Constant*,BasicBlock*> >::iterator I = (yyvsp[(8) - (9)].JumpTable)->begin(),
-      E = (yyvsp[(8) - (9)].JumpTable)->end();
+    std::vector<std::pair<Constant*,BasicBlock*> >::iterator I = (yyvsp[-1].JumpTable)->begin(),
+      E = (yyvsp[-1].JumpTable)->end();
     for (; I != E; ++I) {
       if (ConstantInt *CI = dyn_cast<ConstantInt>(I->first))
           S->addCase(CI, I->second);
       else
         GEN_ERROR("Switch case is constant, but not a simple integer!");
     }
-    delete (yyvsp[(8) - (9)].JumpTable);
+    delete (yyvsp[-1].JumpTable);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 247:
-#line 2393 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 246:
+#line 2396 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
-    Value* tmpVal = getVal((yyvsp[(2) - (8)].PrimType), (yyvsp[(3) - (8)].ValIDVal));
+    Value* tmpVal = getVal((yyvsp[-6].PrimType), (yyvsp[-5].ValIDVal));
     CHECK_FOR_ERROR
-    BasicBlock* tmpBB = getBBVal((yyvsp[(6) - (8)].ValIDVal));
+    BasicBlock* tmpBB = getBBVal((yyvsp[-2].ValIDVal));
     CHECK_FOR_ERROR
     SwitchInst *S = new SwitchInst(tmpVal, tmpBB, 0);
     (yyval.TermInstVal) = S;
@@ -5198,20 +4973,20 @@
   ;}
     break;
 
-  case 248:
-#line 2403 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 247:
+#line 2406 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
 
     // Handle the short syntax
     const PointerType *PFTy = 0;
     const FunctionType *Ty = 0;
-    if (!(PFTy = dyn_cast<PointerType>((yyvsp[(3) - (14)].TypeVal)->get())) ||
+    if (!(PFTy = dyn_cast<PointerType>((yyvsp[-11].TypeVal)->get())) ||
         !(Ty = dyn_cast<FunctionType>(PFTy->getElementType()))) {
       // Pull out the types of all of the arguments...
       std::vector<const Type*> ParamTypes;
       FunctionType::ParamAttrsList ParamAttrs;
-      ParamAttrs.push_back((yyvsp[(8) - (14)].ParamAttrs));
-      for (ValueRefList::iterator I = (yyvsp[(6) - (14)].ValueRefList)->begin(), E = (yyvsp[(6) - (14)].ValueRefList)->end(); I != E; ++I) {
+      ParamAttrs.push_back((yyvsp[-6].ParamAttrs));
+      for (ValueRefList::iterator I = (yyvsp[-8].ValueRefList)->begin(), E = (yyvsp[-8].ValueRefList)->end(); I != E; ++I) {
         const Type *Ty = I->Val->getType();
         if (Ty == Type::VoidTy)
           GEN_ERROR("Short call syntax cannot be used with varargs");
@@ -5219,20 +4994,20 @@
         ParamAttrs.push_back(I->Attrs);
       }
 
-      Ty = FunctionType::get((yyvsp[(3) - (14)].TypeVal)->get(), ParamTypes, false, ParamAttrs);
+      Ty = FunctionType::get((yyvsp[-11].TypeVal)->get(), ParamTypes, false, ParamAttrs);
       PFTy = PointerType::get(Ty);
     }
 
-    Value *V = getVal(PFTy, (yyvsp[(4) - (14)].ValIDVal));   // Get the function we're calling...
+    Value *V = getVal(PFTy, (yyvsp[-10].ValIDVal));   // Get the function we're calling...
     CHECK_FOR_ERROR
-    BasicBlock *Normal = getBBVal((yyvsp[(11) - (14)].ValIDVal));
+    BasicBlock *Normal = getBBVal((yyvsp[-3].ValIDVal));
     CHECK_FOR_ERROR
-    BasicBlock *Except = getBBVal((yyvsp[(14) - (14)].ValIDVal));
+    BasicBlock *Except = getBBVal((yyvsp[0].ValIDVal));
     CHECK_FOR_ERROR
 
     // Check the arguments
     ValueList Args;
-    if ((yyvsp[(6) - (14)].ValueRefList)->empty()) {                                   // Has no arguments?
+    if ((yyvsp[-8].ValueRefList)->empty()) {                                   // Has no arguments?
       // Make sure no arguments is a good thing!
       if (Ty->getNumParams() != 0)
         GEN_ERROR("No arguments passed to a function that "
@@ -5242,7 +5017,7 @@
       // correctly!
       FunctionType::param_iterator I = Ty->param_begin();
       FunctionType::param_iterator E = Ty->param_end();
-      ValueRefList::iterator ArgI = (yyvsp[(6) - (14)].ValueRefList)->begin(), ArgE = (yyvsp[(6) - (14)].ValueRefList)->end();
+      ValueRefList::iterator ArgI = (yyvsp[-8].ValueRefList)->begin(), ArgE = (yyvsp[-8].ValueRefList)->end();
 
       for (; ArgI != ArgE && I != E; ++ArgI, ++I) {
         if (ArgI->Val->getType() != *I)
@@ -5261,354 +5036,354 @@
 
     // Create the InvokeInst
     InvokeInst *II = new InvokeInst(V, Normal, Except, Args);
-    II->setCallingConv((yyvsp[(2) - (14)].UIntVal));
+    II->setCallingConv((yyvsp[-12].UIntVal));
     (yyval.TermInstVal) = II;
-    delete (yyvsp[(6) - (14)].ValueRefList);
+    delete (yyvsp[-8].ValueRefList);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 249:
-#line 2469 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 248:
+#line 2472 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.TermInstVal) = new UnwindInst();
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 250:
-#line 2473 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 249:
+#line 2476 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.TermInstVal) = new UnreachableInst();
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 251:
-#line 2480 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 250:
+#line 2483 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
-    (yyval.JumpTable) = (yyvsp[(1) - (6)].JumpTable);
-    Constant *V = cast<Constant>(getValNonImprovising((yyvsp[(2) - (6)].PrimType), (yyvsp[(3) - (6)].ValIDVal)));
+    (yyval.JumpTable) = (yyvsp[-5].JumpTable);
+    Constant *V = cast<Constant>(getValNonImprovising((yyvsp[-4].PrimType), (yyvsp[-3].ValIDVal)));
     CHECK_FOR_ERROR
     if (V == 0)
       GEN_ERROR("May only switch on a constant pool value!");
 
-    BasicBlock* tmpBB = getBBVal((yyvsp[(6) - (6)].ValIDVal));
+    BasicBlock* tmpBB = getBBVal((yyvsp[0].ValIDVal));
     CHECK_FOR_ERROR
     (yyval.JumpTable)->push_back(std::make_pair(V, tmpBB));
   ;}
     break;
 
-  case 252:
-#line 2491 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 251:
+#line 2494 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.JumpTable) = new std::vector<std::pair<Constant*, BasicBlock*> >();
-    Constant *V = cast<Constant>(getValNonImprovising((yyvsp[(1) - (5)].PrimType), (yyvsp[(2) - (5)].ValIDVal)));
+    Constant *V = cast<Constant>(getValNonImprovising((yyvsp[-4].PrimType), (yyvsp[-3].ValIDVal)));
     CHECK_FOR_ERROR
 
     if (V == 0)
       GEN_ERROR("May only switch on a constant pool value!");
 
-    BasicBlock* tmpBB = getBBVal((yyvsp[(5) - (5)].ValIDVal));
+    BasicBlock* tmpBB = getBBVal((yyvsp[0].ValIDVal));
     CHECK_FOR_ERROR
     (yyval.JumpTable)->push_back(std::make_pair(V, tmpBB)); 
   ;}
     break;
 
-  case 253:
-#line 2504 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 252:
+#line 2507 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
   // Is this definition named?? if so, assign the name...
-  setValueName((yyvsp[(2) - (2)].InstVal), (yyvsp[(1) - (2)].StrVal));
+  setValueName((yyvsp[0].InstVal), (yyvsp[-1].StrVal));
   CHECK_FOR_ERROR
-  InsertValue((yyvsp[(2) - (2)].InstVal));
-  (yyval.InstVal) = (yyvsp[(2) - (2)].InstVal);
+  InsertValue((yyvsp[0].InstVal));
+  (yyval.InstVal) = (yyvsp[0].InstVal);
   CHECK_FOR_ERROR
 ;}
     break;
 
-  case 254:
-#line 2513 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 253:
+#line 2516 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {    // Used for PHI nodes
     if (!UpRefs.empty())
-      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (6)].TypeVal))->getDescription());
+      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-5].TypeVal))->getDescription());
     (yyval.PHIList) = new std::list<std::pair<Value*, BasicBlock*> >();
-    Value* tmpVal = getVal(*(yyvsp[(1) - (6)].TypeVal), (yyvsp[(3) - (6)].ValIDVal));
+    Value* tmpVal = getVal(*(yyvsp[-5].TypeVal), (yyvsp[-3].ValIDVal));
     CHECK_FOR_ERROR
-    BasicBlock* tmpBB = getBBVal((yyvsp[(5) - (6)].ValIDVal));
+    BasicBlock* tmpBB = getBBVal((yyvsp[-1].ValIDVal));
     CHECK_FOR_ERROR
     (yyval.PHIList)->push_back(std::make_pair(tmpVal, tmpBB));
-    delete (yyvsp[(1) - (6)].TypeVal);
+    delete (yyvsp[-5].TypeVal);
   ;}
     break;
 
-  case 255:
-#line 2524 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 254:
+#line 2527 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
-    (yyval.PHIList) = (yyvsp[(1) - (7)].PHIList);
-    Value* tmpVal = getVal((yyvsp[(1) - (7)].PHIList)->front().first->getType(), (yyvsp[(4) - (7)].ValIDVal));
+    (yyval.PHIList) = (yyvsp[-6].PHIList);
+    Value* tmpVal = getVal((yyvsp[-6].PHIList)->front().first->getType(), (yyvsp[-3].ValIDVal));
     CHECK_FOR_ERROR
-    BasicBlock* tmpBB = getBBVal((yyvsp[(6) - (7)].ValIDVal));
+    BasicBlock* tmpBB = getBBVal((yyvsp[-1].ValIDVal));
     CHECK_FOR_ERROR
-    (yyvsp[(1) - (7)].PHIList)->push_back(std::make_pair(tmpVal, tmpBB));
+    (yyvsp[-6].PHIList)->push_back(std::make_pair(tmpVal, tmpBB));
   ;}
     break;
 
-  case 256:
-#line 2534 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 255:
+#line 2537 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {    
     if (!UpRefs.empty())
-      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (3)].TypeVal))->getDescription());
+      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-2].TypeVal))->getDescription());
     // Used for call and invoke instructions
     (yyval.ValueRefList) = new ValueRefList();
-    ValueRefListEntry E; E.Attrs = (yyvsp[(3) - (3)].ParamAttrs); E.Val = getVal((yyvsp[(1) - (3)].TypeVal)->get(), (yyvsp[(2) - (3)].ValIDVal));
+    ValueRefListEntry E; E.Attrs = (yyvsp[0].ParamAttrs); E.Val = getVal((yyvsp[-2].TypeVal)->get(), (yyvsp[-1].ValIDVal));
     (yyval.ValueRefList)->push_back(E);
   ;}
     break;
 
-  case 257:
-#line 2542 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 256:
+#line 2545 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
-      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(3) - (5)].TypeVal))->getDescription());
-    (yyval.ValueRefList) = (yyvsp[(1) - (5)].ValueRefList);
-    ValueRefListEntry E; E.Attrs = (yyvsp[(5) - (5)].ParamAttrs); E.Val = getVal((yyvsp[(3) - (5)].TypeVal)->get(), (yyvsp[(4) - (5)].ValIDVal));
+      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-2].TypeVal))->getDescription());
+    (yyval.ValueRefList) = (yyvsp[-4].ValueRefList);
+    ValueRefListEntry E; E.Attrs = (yyvsp[0].ParamAttrs); E.Val = getVal((yyvsp[-2].TypeVal)->get(), (yyvsp[-1].ValIDVal));
     (yyval.ValueRefList)->push_back(E);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 258:
-#line 2550 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 257:
+#line 2553 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.ValueRefList) = new ValueRefList(); ;}
     break;
 
-  case 259:
-#line 2553 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 258:
+#line 2556 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.ValueList) = new std::vector<Value*>(); ;}
     break;
 
-  case 260:
-#line 2554 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 259:
+#line 2557 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
-    (yyval.ValueList) = (yyvsp[(1) - (3)].ValueList);
-    (yyval.ValueList)->push_back((yyvsp[(3) - (3)].ValueVal));
+    (yyval.ValueList) = (yyvsp[-2].ValueList);
+    (yyval.ValueList)->push_back((yyvsp[0].ValueVal));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 261:
-#line 2561 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 260:
+#line 2564 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.BoolVal) = true;
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 262:
-#line 2565 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 261:
+#line 2568 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.BoolVal) = false;
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 263:
-#line 2570 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 262:
+#line 2573 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
-      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (5)].TypeVal))->getDescription());
-    if (!(*(yyvsp[(2) - (5)].TypeVal))->isInteger() && !(*(yyvsp[(2) - (5)].TypeVal))->isFloatingPoint() && 
-        !isa<PackedType>((*(yyvsp[(2) - (5)].TypeVal)).get()))
+      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-3].TypeVal))->getDescription());
+    if (!(*(yyvsp[-3].TypeVal))->isInteger() && !(*(yyvsp[-3].TypeVal))->isFloatingPoint() && 
+        !isa<PackedType>((*(yyvsp[-3].TypeVal)).get()))
       GEN_ERROR(
         "Arithmetic operator requires integer, FP, or packed operands!");
-    if (isa<PackedType>((*(yyvsp[(2) - (5)].TypeVal)).get()) && 
-        ((yyvsp[(1) - (5)].BinaryOpVal) == Instruction::URem || 
-         (yyvsp[(1) - (5)].BinaryOpVal) == Instruction::SRem ||
-         (yyvsp[(1) - (5)].BinaryOpVal) == Instruction::FRem))
+    if (isa<PackedType>((*(yyvsp[-3].TypeVal)).get()) && 
+        ((yyvsp[-4].BinaryOpVal) == Instruction::URem || 
+         (yyvsp[-4].BinaryOpVal) == Instruction::SRem ||
+         (yyvsp[-4].BinaryOpVal) == Instruction::FRem))
       GEN_ERROR("U/S/FRem not supported on packed types!");
-    Value* val1 = getVal(*(yyvsp[(2) - (5)].TypeVal), (yyvsp[(3) - (5)].ValIDVal)); 
+    Value* val1 = getVal(*(yyvsp[-3].TypeVal), (yyvsp[-2].ValIDVal)); 
     CHECK_FOR_ERROR
-    Value* val2 = getVal(*(yyvsp[(2) - (5)].TypeVal), (yyvsp[(5) - (5)].ValIDVal));
+    Value* val2 = getVal(*(yyvsp[-3].TypeVal), (yyvsp[0].ValIDVal));
     CHECK_FOR_ERROR
-    (yyval.InstVal) = BinaryOperator::create((yyvsp[(1) - (5)].BinaryOpVal), val1, val2);
+    (yyval.InstVal) = BinaryOperator::create((yyvsp[-4].BinaryOpVal), val1, val2);
     if ((yyval.InstVal) == 0)
       GEN_ERROR("binary operator returned null!");
-    delete (yyvsp[(2) - (5)].TypeVal);
+    delete (yyvsp[-3].TypeVal);
   ;}
     break;
 
-  case 264:
-#line 2591 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 263:
+#line 2594 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
-      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (5)].TypeVal))->getDescription());
-    if (!(*(yyvsp[(2) - (5)].TypeVal))->isIntegral()) {
-      if (!isa<PackedType>((yyvsp[(2) - (5)].TypeVal)->get()) ||
-          !cast<PackedType>((yyvsp[(2) - (5)].TypeVal)->get())->getElementType()->isIntegral())
+      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-3].TypeVal))->getDescription());
+    if (!(*(yyvsp[-3].TypeVal))->isIntegral()) {
+      if (!isa<PackedType>((yyvsp[-3].TypeVal)->get()) ||
+          !cast<PackedType>((yyvsp[-3].TypeVal)->get())->getElementType()->isIntegral())
         GEN_ERROR("Logical operator requires integral operands!");
     }
-    Value* tmpVal1 = getVal(*(yyvsp[(2) - (5)].TypeVal), (yyvsp[(3) - (5)].ValIDVal));
+    Value* tmpVal1 = getVal(*(yyvsp[-3].TypeVal), (yyvsp[-2].ValIDVal));
     CHECK_FOR_ERROR
-    Value* tmpVal2 = getVal(*(yyvsp[(2) - (5)].TypeVal), (yyvsp[(5) - (5)].ValIDVal));
+    Value* tmpVal2 = getVal(*(yyvsp[-3].TypeVal), (yyvsp[0].ValIDVal));
     CHECK_FOR_ERROR
-    (yyval.InstVal) = BinaryOperator::create((yyvsp[(1) - (5)].BinaryOpVal), tmpVal1, tmpVal2);
+    (yyval.InstVal) = BinaryOperator::create((yyvsp[-4].BinaryOpVal), tmpVal1, tmpVal2);
     if ((yyval.InstVal) == 0)
       GEN_ERROR("binary operator returned null!");
-    delete (yyvsp[(2) - (5)].TypeVal);
+    delete (yyvsp[-3].TypeVal);
   ;}
     break;
 
-  case 265:
-#line 2608 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 264:
+#line 2611 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
-      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(3) - (6)].TypeVal))->getDescription());
-    if (isa<PackedType>((*(yyvsp[(3) - (6)].TypeVal)).get()))
+      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-3].TypeVal))->getDescription());
+    if (isa<PackedType>((*(yyvsp[-3].TypeVal)).get()))
       GEN_ERROR("Packed types not supported by icmp instruction");
-    Value* tmpVal1 = getVal(*(yyvsp[(3) - (6)].TypeVal), (yyvsp[(4) - (6)].ValIDVal));
+    Value* tmpVal1 = getVal(*(yyvsp[-3].TypeVal), (yyvsp[-2].ValIDVal));
     CHECK_FOR_ERROR
-    Value* tmpVal2 = getVal(*(yyvsp[(3) - (6)].TypeVal), (yyvsp[(6) - (6)].ValIDVal));
+    Value* tmpVal2 = getVal(*(yyvsp[-3].TypeVal), (yyvsp[0].ValIDVal));
     CHECK_FOR_ERROR
-    (yyval.InstVal) = CmpInst::create((yyvsp[(1) - (6)].OtherOpVal), (yyvsp[(2) - (6)].IPredicate), tmpVal1, tmpVal2);
+    (yyval.InstVal) = CmpInst::create((yyvsp[-5].OtherOpVal), (yyvsp[-4].IPredicate), tmpVal1, tmpVal2);
     if ((yyval.InstVal) == 0)
       GEN_ERROR("icmp operator returned null!");
   ;}
     break;
 
-  case 266:
-#line 2621 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 265:
+#line 2624 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
-      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(3) - (6)].TypeVal))->getDescription());
-    if (isa<PackedType>((*(yyvsp[(3) - (6)].TypeVal)).get()))
+      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-3].TypeVal))->getDescription());
+    if (isa<PackedType>((*(yyvsp[-3].TypeVal)).get()))
       GEN_ERROR("Packed types not supported by fcmp instruction");
-    Value* tmpVal1 = getVal(*(yyvsp[(3) - (6)].TypeVal), (yyvsp[(4) - (6)].ValIDVal));
+    Value* tmpVal1 = getVal(*(yyvsp[-3].TypeVal), (yyvsp[-2].ValIDVal));
     CHECK_FOR_ERROR
-    Value* tmpVal2 = getVal(*(yyvsp[(3) - (6)].TypeVal), (yyvsp[(6) - (6)].ValIDVal));
+    Value* tmpVal2 = getVal(*(yyvsp[-3].TypeVal), (yyvsp[0].ValIDVal));
     CHECK_FOR_ERROR
-    (yyval.InstVal) = CmpInst::create((yyvsp[(1) - (6)].OtherOpVal), (yyvsp[(2) - (6)].FPredicate), tmpVal1, tmpVal2);
+    (yyval.InstVal) = CmpInst::create((yyvsp[-5].OtherOpVal), (yyvsp[-4].FPredicate), tmpVal1, tmpVal2);
     if ((yyval.InstVal) == 0)
       GEN_ERROR("fcmp operator returned null!");
   ;}
     break;
 
-  case 267:
-#line 2634 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 266:
+#line 2637 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
-    if ((yyvsp[(4) - (4)].ValueVal)->getType() != Type::Int8Ty)
+    if ((yyvsp[0].ValueVal)->getType() != Type::Int8Ty)
       GEN_ERROR("Shift amount must be i8 type!");
-    if (!(yyvsp[(2) - (4)].ValueVal)->getType()->isInteger())
+    if (!(yyvsp[-2].ValueVal)->getType()->isInteger())
       GEN_ERROR("Shift constant expression requires integer operand!");
     CHECK_FOR_ERROR;
-    (yyval.InstVal) = new ShiftInst((yyvsp[(1) - (4)].OtherOpVal), (yyvsp[(2) - (4)].ValueVal), (yyvsp[(4) - (4)].ValueVal));
+    (yyval.InstVal) = new ShiftInst((yyvsp[-3].OtherOpVal), (yyvsp[-2].ValueVal), (yyvsp[0].ValueVal));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 268:
-#line 2643 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 267:
+#line 2646 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
-      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(4) - (4)].TypeVal))->getDescription());
-    Value* Val = (yyvsp[(2) - (4)].ValueVal);
-    const Type* Ty = (yyvsp[(4) - (4)].TypeVal)->get();
+      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[0].TypeVal))->getDescription());
+    Value* Val = (yyvsp[-2].ValueVal);
+    const Type* Ty = (yyvsp[0].TypeVal)->get();
     if (!Val->getType()->isFirstClassType())
       GEN_ERROR("cast from a non-primitive type: '" +
                 Val->getType()->getDescription() + "'!");
     if (!Ty->isFirstClassType())
       GEN_ERROR("cast to a non-primitive type: '" + Ty->getDescription() +"'!");
-    (yyval.InstVal) = CastInst::create((yyvsp[(1) - (4)].CastOpVal), Val, (yyvsp[(4) - (4)].TypeVal)->get());
-    delete (yyvsp[(4) - (4)].TypeVal);
+    (yyval.InstVal) = CastInst::create((yyvsp[-3].CastOpVal), Val, (yyvsp[0].TypeVal)->get());
+    delete (yyvsp[0].TypeVal);
   ;}
     break;
 
-  case 269:
-#line 2656 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 268:
+#line 2659 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
-    if ((yyvsp[(2) - (6)].ValueVal)->getType() != Type::Int1Ty)
+    if ((yyvsp[-4].ValueVal)->getType() != Type::Int1Ty)
       GEN_ERROR("select condition must be boolean!");
-    if ((yyvsp[(4) - (6)].ValueVal)->getType() != (yyvsp[(6) - (6)].ValueVal)->getType())
+    if ((yyvsp[-2].ValueVal)->getType() != (yyvsp[0].ValueVal)->getType())
       GEN_ERROR("select value types should match!");
-    (yyval.InstVal) = new SelectInst((yyvsp[(2) - (6)].ValueVal), (yyvsp[(4) - (6)].ValueVal), (yyvsp[(6) - (6)].ValueVal));
+    (yyval.InstVal) = new SelectInst((yyvsp[-4].ValueVal), (yyvsp[-2].ValueVal), (yyvsp[0].ValueVal));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 270:
-#line 2664 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 269:
+#line 2667 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
-      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(4) - (4)].TypeVal))->getDescription());
-    (yyval.InstVal) = new VAArgInst((yyvsp[(2) - (4)].ValueVal), *(yyvsp[(4) - (4)].TypeVal));
-    delete (yyvsp[(4) - (4)].TypeVal);
+      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[0].TypeVal))->getDescription());
+    (yyval.InstVal) = new VAArgInst((yyvsp[-2].ValueVal), *(yyvsp[0].TypeVal));
+    delete (yyvsp[0].TypeVal);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 271:
-#line 2671 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 270:
+#line 2674 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
-    if (!ExtractElementInst::isValidOperands((yyvsp[(2) - (4)].ValueVal), (yyvsp[(4) - (4)].ValueVal)))
+    if (!ExtractElementInst::isValidOperands((yyvsp[-2].ValueVal), (yyvsp[0].ValueVal)))
       GEN_ERROR("Invalid extractelement operands!");
-    (yyval.InstVal) = new ExtractElementInst((yyvsp[(2) - (4)].ValueVal), (yyvsp[(4) - (4)].ValueVal));
+    (yyval.InstVal) = new ExtractElementInst((yyvsp[-2].ValueVal), (yyvsp[0].ValueVal));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 272:
-#line 2677 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 271:
+#line 2680 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
-    if (!InsertElementInst::isValidOperands((yyvsp[(2) - (6)].ValueVal), (yyvsp[(4) - (6)].ValueVal), (yyvsp[(6) - (6)].ValueVal)))
+    if (!InsertElementInst::isValidOperands((yyvsp[-4].ValueVal), (yyvsp[-2].ValueVal), (yyvsp[0].ValueVal)))
       GEN_ERROR("Invalid insertelement operands!");
-    (yyval.InstVal) = new InsertElementInst((yyvsp[(2) - (6)].ValueVal), (yyvsp[(4) - (6)].ValueVal), (yyvsp[(6) - (6)].ValueVal));
+    (yyval.InstVal) = new InsertElementInst((yyvsp[-4].ValueVal), (yyvsp[-2].ValueVal), (yyvsp[0].ValueVal));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 273:
-#line 2683 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 272:
+#line 2686 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
-    if (!ShuffleVectorInst::isValidOperands((yyvsp[(2) - (6)].ValueVal), (yyvsp[(4) - (6)].ValueVal), (yyvsp[(6) - (6)].ValueVal)))
+    if (!ShuffleVectorInst::isValidOperands((yyvsp[-4].ValueVal), (yyvsp[-2].ValueVal), (yyvsp[0].ValueVal)))
       GEN_ERROR("Invalid shufflevector operands!");
-    (yyval.InstVal) = new ShuffleVectorInst((yyvsp[(2) - (6)].ValueVal), (yyvsp[(4) - (6)].ValueVal), (yyvsp[(6) - (6)].ValueVal));
+    (yyval.InstVal) = new ShuffleVectorInst((yyvsp[-4].ValueVal), (yyvsp[-2].ValueVal), (yyvsp[0].ValueVal));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 274:
-#line 2689 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 273:
+#line 2692 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
-    const Type *Ty = (yyvsp[(2) - (2)].PHIList)->front().first->getType();
+    const Type *Ty = (yyvsp[0].PHIList)->front().first->getType();
     if (!Ty->isFirstClassType())
       GEN_ERROR("PHI node operands must be of first class type!");
     (yyval.InstVal) = new PHINode(Ty);
-    ((PHINode*)(yyval.InstVal))->reserveOperandSpace((yyvsp[(2) - (2)].PHIList)->size());
-    while ((yyvsp[(2) - (2)].PHIList)->begin() != (yyvsp[(2) - (2)].PHIList)->end()) {
-      if ((yyvsp[(2) - (2)].PHIList)->front().first->getType() != Ty) 
+    ((PHINode*)(yyval.InstVal))->reserveOperandSpace((yyvsp[0].PHIList)->size());
+    while ((yyvsp[0].PHIList)->begin() != (yyvsp[0].PHIList)->end()) {
+      if ((yyvsp[0].PHIList)->front().first->getType() != Ty) 
         GEN_ERROR("All elements of a PHI node must be of the same type!");
-      cast<PHINode>((yyval.InstVal))->addIncoming((yyvsp[(2) - (2)].PHIList)->front().first, (yyvsp[(2) - (2)].PHIList)->front().second);
-      (yyvsp[(2) - (2)].PHIList)->pop_front();
+      cast<PHINode>((yyval.InstVal))->addIncoming((yyvsp[0].PHIList)->front().first, (yyvsp[0].PHIList)->front().second);
+      (yyvsp[0].PHIList)->pop_front();
     }
-    delete (yyvsp[(2) - (2)].PHIList);  // Free the list...
+    delete (yyvsp[0].PHIList);  // Free the list...
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 275:
-#line 2705 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 274:
+#line 2708 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
 
     // Handle the short syntax
     const PointerType *PFTy = 0;
     const FunctionType *Ty = 0;
-    if (!(PFTy = dyn_cast<PointerType>((yyvsp[(3) - (8)].TypeVal)->get())) ||
+    if (!(PFTy = dyn_cast<PointerType>((yyvsp[-5].TypeVal)->get())) ||
         !(Ty = dyn_cast<FunctionType>(PFTy->getElementType()))) {
       // Pull out the types of all of the arguments...
       std::vector<const Type*> ParamTypes;
       FunctionType::ParamAttrsList ParamAttrs;
-      ParamAttrs.push_back((yyvsp[(8) - (8)].ParamAttrs));
-      for (ValueRefList::iterator I = (yyvsp[(6) - (8)].ValueRefList)->begin(), E = (yyvsp[(6) - (8)].ValueRefList)->end(); I != E; ++I) {
+      ParamAttrs.push_back((yyvsp[0].ParamAttrs));
+      for (ValueRefList::iterator I = (yyvsp[-2].ValueRefList)->begin(), E = (yyvsp[-2].ValueRefList)->end(); I != E; ++I) {
         const Type *Ty = I->Val->getType();
         if (Ty == Type::VoidTy)
           GEN_ERROR("Short call syntax cannot be used with varargs");
@@ -5616,16 +5391,16 @@
         ParamAttrs.push_back(I->Attrs);
       }
 
-      Ty = FunctionType::get((yyvsp[(3) - (8)].TypeVal)->get(), ParamTypes, false, ParamAttrs);
+      Ty = FunctionType::get((yyvsp[-5].TypeVal)->get(), ParamTypes, false, ParamAttrs);
       PFTy = PointerType::get(Ty);
     }
 
-    Value *V = getVal(PFTy, (yyvsp[(4) - (8)].ValIDVal));   // Get the function we're calling...
+    Value *V = getVal(PFTy, (yyvsp[-4].ValIDVal));   // Get the function we're calling...
     CHECK_FOR_ERROR
 
     // Check the arguments 
     ValueList Args;
-    if ((yyvsp[(6) - (8)].ValueRefList)->empty()) {                                   // Has no arguments?
+    if ((yyvsp[-2].ValueRefList)->empty()) {                                   // Has no arguments?
       // Make sure no arguments is a good thing!
       if (Ty->getNumParams() != 0)
         GEN_ERROR("No arguments passed to a function that "
@@ -5636,7 +5411,7 @@
       //
       FunctionType::param_iterator I = Ty->param_begin();
       FunctionType::param_iterator E = Ty->param_end();
-      ValueRefList::iterator ArgI = (yyvsp[(6) - (8)].ValueRefList)->begin(), ArgE = (yyvsp[(6) - (8)].ValueRefList)->end();
+      ValueRefList::iterator ArgI = (yyvsp[-2].ValueRefList)->begin(), ArgE = (yyvsp[-2].ValueRefList)->end();
 
       for (; ArgI != ArgE && I != E; ++ArgI, ++I) {
         if (ArgI->Val->getType() != *I)
@@ -5653,162 +5428,164 @@
     }
     // Create the call node
     CallInst *CI = new CallInst(V, Args);
-    CI->setTailCall((yyvsp[(1) - (8)].BoolVal));
-    CI->setCallingConv((yyvsp[(2) - (8)].UIntVal));
+    CI->setTailCall((yyvsp[-7].BoolVal));
+    CI->setCallingConv((yyvsp[-6].UIntVal));
     (yyval.InstVal) = CI;
-    delete (yyvsp[(6) - (8)].ValueRefList);
+    delete (yyvsp[-2].ValueRefList);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 276:
-#line 2767 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 275:
+#line 2770 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
-    (yyval.InstVal) = (yyvsp[(1) - (1)].InstVal);
+    (yyval.InstVal) = (yyvsp[0].InstVal);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 277:
-#line 2772 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 276:
+#line 2775 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.BoolVal) = true;
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 278:
-#line 2776 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 277:
+#line 2779 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.BoolVal) = false;
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 279:
-#line 2783 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 278:
+#line 2786 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
-      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (3)].TypeVal))->getDescription());
-    (yyval.InstVal) = new MallocInst(*(yyvsp[(2) - (3)].TypeVal), 0, (yyvsp[(3) - (3)].UIntVal));
-    delete (yyvsp[(2) - (3)].TypeVal);
+      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
+    (yyval.InstVal) = new MallocInst(*(yyvsp[-1].TypeVal), 0, (yyvsp[0].UIntVal));
+    delete (yyvsp[-1].TypeVal);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 280:
-#line 2790 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 279:
+#line 2793 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
-      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (6)].TypeVal))->getDescription());
-    Value* tmpVal = getVal((yyvsp[(4) - (6)].PrimType), (yyvsp[(5) - (6)].ValIDVal));
+      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-4].TypeVal))->getDescription());
+    Value* tmpVal = getVal((yyvsp[-2].PrimType), (yyvsp[-1].ValIDVal));
     CHECK_FOR_ERROR
-    (yyval.InstVal) = new MallocInst(*(yyvsp[(2) - (6)].TypeVal), tmpVal, (yyvsp[(6) - (6)].UIntVal));
-    delete (yyvsp[(2) - (6)].TypeVal);
+    (yyval.InstVal) = new MallocInst(*(yyvsp[-4].TypeVal), tmpVal, (yyvsp[0].UIntVal));
+    delete (yyvsp[-4].TypeVal);
   ;}
     break;
 
-  case 281:
-#line 2798 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 280:
+#line 2801 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
-      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (3)].TypeVal))->getDescription());
-    (yyval.InstVal) = new AllocaInst(*(yyvsp[(2) - (3)].TypeVal), 0, (yyvsp[(3) - (3)].UIntVal));
-    delete (yyvsp[(2) - (3)].TypeVal);
+      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
+    (yyval.InstVal) = new AllocaInst(*(yyvsp[-1].TypeVal), 0, (yyvsp[0].UIntVal));
+    delete (yyvsp[-1].TypeVal);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 282:
-#line 2805 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 281:
+#line 2808 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
-      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (6)].TypeVal))->getDescription());
-    Value* tmpVal = getVal((yyvsp[(4) - (6)].PrimType), (yyvsp[(5) - (6)].ValIDVal));
+      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-4].TypeVal))->getDescription());
+    Value* tmpVal = getVal((yyvsp[-2].PrimType), (yyvsp[-1].ValIDVal));
     CHECK_FOR_ERROR
-    (yyval.InstVal) = new AllocaInst(*(yyvsp[(2) - (6)].TypeVal), tmpVal, (yyvsp[(6) - (6)].UIntVal));
-    delete (yyvsp[(2) - (6)].TypeVal);
+    (yyval.InstVal) = new AllocaInst(*(yyvsp[-4].TypeVal), tmpVal, (yyvsp[0].UIntVal));
+    delete (yyvsp[-4].TypeVal);
   ;}
     break;
 
-  case 283:
-#line 2813 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 282:
+#line 2816 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
-    if (!isa<PointerType>((yyvsp[(2) - (2)].ValueVal)->getType()))
+    if (!isa<PointerType>((yyvsp[0].ValueVal)->getType()))
       GEN_ERROR("Trying to free nonpointer type " + 
-                     (yyvsp[(2) - (2)].ValueVal)->getType()->getDescription() + "!");
-    (yyval.InstVal) = new FreeInst((yyvsp[(2) - (2)].ValueVal));
+                     (yyvsp[0].ValueVal)->getType()->getDescription() + "!");
+    (yyval.InstVal) = new FreeInst((yyvsp[0].ValueVal));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 284:
-#line 2821 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 283:
+#line 2824 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
-      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(3) - (4)].TypeVal))->getDescription());
-    if (!isa<PointerType>((yyvsp[(3) - (4)].TypeVal)->get()))
+      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
+    if (!isa<PointerType>((yyvsp[-1].TypeVal)->get()))
       GEN_ERROR("Can't load from nonpointer type: " +
-                     (*(yyvsp[(3) - (4)].TypeVal))->getDescription());
-    if (!cast<PointerType>((yyvsp[(3) - (4)].TypeVal)->get())->getElementType()->isFirstClassType())
+                     (*(yyvsp[-1].TypeVal))->getDescription());
+    if (!cast<PointerType>((yyvsp[-1].TypeVal)->get())->getElementType()->isFirstClassType())
       GEN_ERROR("Can't load from pointer of non-first-class type: " +
-                     (*(yyvsp[(3) - (4)].TypeVal))->getDescription());
-    Value* tmpVal = getVal(*(yyvsp[(3) - (4)].TypeVal), (yyvsp[(4) - (4)].ValIDVal));
+                     (*(yyvsp[-1].TypeVal))->getDescription());
+    Value* tmpVal = getVal(*(yyvsp[-1].TypeVal), (yyvsp[0].ValIDVal));
     CHECK_FOR_ERROR
-    (yyval.InstVal) = new LoadInst(tmpVal, "", (yyvsp[(1) - (4)].BoolVal));
-    delete (yyvsp[(3) - (4)].TypeVal);
+    (yyval.InstVal) = new LoadInst(tmpVal, "", (yyvsp[-3].BoolVal));
+    delete (yyvsp[-1].TypeVal);
   ;}
     break;
 
-  case 285:
-#line 2835 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 284:
+#line 2838 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
-      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(5) - (6)].TypeVal))->getDescription());
-    const PointerType *PT = dyn_cast<PointerType>((yyvsp[(5) - (6)].TypeVal)->get());
+      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
+    const PointerType *PT = dyn_cast<PointerType>((yyvsp[-1].TypeVal)->get());
     if (!PT)
       GEN_ERROR("Can't store to a nonpointer type: " +
-                     (*(yyvsp[(5) - (6)].TypeVal))->getDescription());
+                     (*(yyvsp[-1].TypeVal))->getDescription());
     const Type *ElTy = PT->getElementType();
-    if (ElTy != (yyvsp[(3) - (6)].ValueVal)->getType())
-      GEN_ERROR("Can't store '" + (yyvsp[(3) - (6)].ValueVal)->getType()->getDescription() +
+    if (ElTy != (yyvsp[-3].ValueVal)->getType())
+      GEN_ERROR("Can't store '" + (yyvsp[-3].ValueVal)->getType()->getDescription() +
                      "' into space of type '" + ElTy->getDescription() + "'!");
 
-    Value* tmpVal = getVal(*(yyvsp[(5) - (6)].TypeVal), (yyvsp[(6) - (6)].ValIDVal));
+    Value* tmpVal = getVal(*(yyvsp[-1].TypeVal), (yyvsp[0].ValIDVal));
     CHECK_FOR_ERROR
-    (yyval.InstVal) = new StoreInst((yyvsp[(3) - (6)].ValueVal), tmpVal, (yyvsp[(1) - (6)].BoolVal));
-    delete (yyvsp[(5) - (6)].TypeVal);
+    (yyval.InstVal) = new StoreInst((yyvsp[-3].ValueVal), tmpVal, (yyvsp[-5].BoolVal));
+    delete (yyvsp[-1].TypeVal);
   ;}
     break;
 
-  case 286:
-#line 2852 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 285:
+#line 2855 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
-      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (4)].TypeVal))->getDescription());
-    if (!isa<PointerType>((yyvsp[(2) - (4)].TypeVal)->get()))
+      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-2].TypeVal))->getDescription());
+    if (!isa<PointerType>((yyvsp[-2].TypeVal)->get()))
       GEN_ERROR("getelementptr insn requires pointer operand!");
 
-    if (!GetElementPtrInst::getIndexedType(*(yyvsp[(2) - (4)].TypeVal), *(yyvsp[(4) - (4)].ValueList), true))
+    if (!GetElementPtrInst::getIndexedType(*(yyvsp[-2].TypeVal), *(yyvsp[0].ValueList), true))
       GEN_ERROR("Invalid getelementptr indices for type '" +
-                     (*(yyvsp[(2) - (4)].TypeVal))->getDescription()+ "'!");
-    Value* tmpVal = getVal(*(yyvsp[(2) - (4)].TypeVal), (yyvsp[(3) - (4)].ValIDVal));
+                     (*(yyvsp[-2].TypeVal))->getDescription()+ "'!");
+    Value* tmpVal = getVal(*(yyvsp[-2].TypeVal), (yyvsp[-1].ValIDVal));
     CHECK_FOR_ERROR
-    (yyval.InstVal) = new GetElementPtrInst(tmpVal, *(yyvsp[(4) - (4)].ValueList));
-    delete (yyvsp[(2) - (4)].TypeVal); 
-    delete (yyvsp[(4) - (4)].ValueList);
+    (yyval.InstVal) = new GetElementPtrInst(tmpVal, *(yyvsp[0].ValueList));
+    delete (yyvsp[-2].TypeVal); 
+    delete (yyvsp[0].ValueList);
   ;}
     break;
 
 
-/* Line 1267 of yacc.c.  */
-#line 5806 "llvmAsmParser.tab.c"
       default: break;
     }
-  YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
 
-  YYPOPSTACK (yylen);
-  yylen = 0;
+/* Line 1126 of yacc.c.  */
+#line 5584 "llvmAsmParser.tab.c"
+
+  yyvsp -= yylen;
+  yyssp -= yylen;
+
+
   YY_STACK_PRINT (yyss, yyssp);
 
   *++yyvsp = yyval;
@@ -5837,41 +5614,110 @@
   if (!yyerrstatus)
     {
       ++yynerrs;
-#if ! YYERROR_VERBOSE
-      yyerror (YY_("syntax error"));
-#else
-      {
-	YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
-	if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
-	  {
-	    YYSIZE_T yyalloc = 2 * yysize;
-	    if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
-	      yyalloc = YYSTACK_ALLOC_MAXIMUM;
-	    if (yymsg != yymsgbuf)
-	      YYSTACK_FREE (yymsg);
-	    yymsg = (char *) YYSTACK_ALLOC (yyalloc);
-	    if (yymsg)
-	      yymsg_alloc = yyalloc;
-	    else
+#if YYERROR_VERBOSE
+      yyn = yypact[yystate];
+
+      if (YYPACT_NINF < yyn && yyn < YYLAST)
+	{
+	  int yytype = YYTRANSLATE (yychar);
+	  YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
+	  YYSIZE_T yysize = yysize0;
+	  YYSIZE_T yysize1;
+	  int yysize_overflow = 0;
+	  char *yymsg = 0;
+#	  define YYERROR_VERBOSE_ARGS_MAXIMUM 5
+	  char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
+	  int yyx;
+
+#if 0
+	  /* This is so xgettext sees the translatable formats that are
+	     constructed on the fly.  */
+	  YY_("syntax error, unexpected %s");
+	  YY_("syntax error, unexpected %s, expecting %s");
+	  YY_("syntax error, unexpected %s, expecting %s or %s");
+	  YY_("syntax error, unexpected %s, expecting %s or %s or %s");
+	  YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
+#endif
+	  char *yyfmt;
+	  char const *yyf;
+	  static char const yyunexpected[] = "syntax error, unexpected %s";
+	  static char const yyexpecting[] = ", expecting %s";
+	  static char const yyor[] = " or %s";
+	  char yyformat[sizeof yyunexpected
+			+ sizeof yyexpecting - 1
+			+ ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
+			   * (sizeof yyor - 1))];
+	  char const *yyprefix = yyexpecting;
+
+	  /* Start YYX at -YYN if negative to avoid negative indexes in
+	     YYCHECK.  */
+	  int yyxbegin = yyn < 0 ? -yyn : 0;
+
+	  /* Stay within bounds of both yycheck and yytname.  */
+	  int yychecklim = YYLAST - yyn;
+	  int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
+	  int yycount = 1;
+
+	  yyarg[0] = yytname[yytype];
+	  yyfmt = yystpcpy (yyformat, yyunexpected);
+
+	  for (yyx = yyxbegin; yyx < yyxend; ++yyx)
+	    if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
 	      {
-		yymsg = yymsgbuf;
-		yymsg_alloc = sizeof yymsgbuf;
+		if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
+		  {
+		    yycount = 1;
+		    yysize = yysize0;
+		    yyformat[sizeof yyunexpected - 1] = '\0';
+		    break;
+		  }
+		yyarg[yycount++] = yytname[yyx];
+		yysize1 = yysize + yytnamerr (0, yytname[yyx]);
+		yysize_overflow |= yysize1 < yysize;
+		yysize = yysize1;
+		yyfmt = yystpcpy (yyfmt, yyprefix);
+		yyprefix = yyor;
 	      }
-	  }
 
-	if (0 < yysize && yysize <= yymsg_alloc)
-	  {
-	    (void) yysyntax_error (yymsg, yystate, yychar);
-	    yyerror (yymsg);
-	  }
-	else
-	  {
-	    yyerror (YY_("syntax error"));
-	    if (yysize != 0)
+	  yyf = YY_(yyformat);
+	  yysize1 = yysize + yystrlen (yyf);
+	  yysize_overflow |= yysize1 < yysize;
+	  yysize = yysize1;
+
+	  if (!yysize_overflow && yysize <= YYSTACK_ALLOC_MAXIMUM)
+	    yymsg = (char *) YYSTACK_ALLOC (yysize);
+	  if (yymsg)
+	    {
+	      /* Avoid sprintf, as that infringes on the user's name space.
+		 Don't have undefined behavior even if the translation
+		 produced a string with the wrong number of "%s"s.  */
+	      char *yyp = yymsg;
+	      int yyi = 0;
+	      while ((*yyp = *yyf))
+		{
+		  if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
+		    {
+		      yyp += yytnamerr (yyp, yyarg[yyi++]);
+		      yyf += 2;
+		    }
+		  else
+		    {
+		      yyp++;
+		      yyf++;
+		    }
+		}
+	      yyerror (yymsg);
+	      YYSTACK_FREE (yymsg);
+	    }
+	  else
+	    {
+	      yyerror (YY_("syntax error"));
 	      goto yyexhaustedlab;
-	  }
-      }
-#endif
+	    }
+	}
+      else
+#endif /* YYERROR_VERBOSE */
+	yyerror (YY_("syntax error"));
     }
 
 
@@ -5882,15 +5728,14 @@
 	 error, discard it.  */
 
       if (yychar <= YYEOF)
-	{
+        {
 	  /* Return failure if at end of input.  */
 	  if (yychar == YYEOF)
 	    YYABORT;
-	}
+        }
       else
 	{
-	  yydestruct ("Error: discarding",
-		      yytoken, &yylval);
+	  yydestruct ("Error: discarding", yytoken, &yylval);
 	  yychar = YYEMPTY;
 	}
     }
@@ -5908,14 +5753,11 @@
   /* Pacify compilers like GCC when the user code never invokes
      YYERROR and the label yyerrorlab therefore never appears in user
      code.  */
-  if (/*CONSTCOND*/ 0)
+  if (0)
      goto yyerrorlab;
 
-  /* Do not reclaim the symbols of the rule which action triggered
-     this YYERROR.  */
-  YYPOPSTACK (yylen);
-  yylen = 0;
-  YY_STACK_PRINT (yyss, yyssp);
+yyvsp -= yylen;
+  yyssp -= yylen;
   yystate = *yyssp;
   goto yyerrlab1;
 
@@ -5945,9 +5787,8 @@
 	YYABORT;
 
 
-      yydestruct ("Error: popping",
-		  yystos[yystate], yyvsp);
-      YYPOPSTACK (1);
+      yydestruct ("Error: popping", yystos[yystate], yyvsp);
+      YYPOPSTACK;
       yystate = *yyssp;
       YY_STACK_PRINT (yyss, yyssp);
     }
@@ -5958,7 +5799,7 @@
   *++yyvsp = yylval;
 
 
-  /* Shift the error token.  */
+  /* Shift the error token. */
   YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
 
   yystate = yyn;
@@ -5993,30 +5834,21 @@
   if (yychar != YYEOF && yychar != YYEMPTY)
      yydestruct ("Cleanup: discarding lookahead",
 		 yytoken, &yylval);
-  /* Do not reclaim the symbols of the rule which action triggered
-     this YYABORT or YYACCEPT.  */
-  YYPOPSTACK (yylen);
-  YY_STACK_PRINT (yyss, yyssp);
   while (yyssp != yyss)
     {
       yydestruct ("Cleanup: popping",
 		  yystos[*yyssp], yyvsp);
-      YYPOPSTACK (1);
+      YYPOPSTACK;
     }
 #ifndef yyoverflow
   if (yyss != yyssa)
     YYSTACK_FREE (yyss);
 #endif
-#if YYERROR_VERBOSE
-  if (yymsg != yymsgbuf)
-    YYSTACK_FREE (yymsg);
-#endif
-  /* Make sure YYID is used.  */
-  return YYID (yyresult);
+  return yyresult;
 }
 
 
-#line 2869 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 2872 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
 
 
 // common code from the two 'RunVMAsmParser' functions


Index: llvm/lib/AsmParser/llvmAsmParser.h.cvs
diff -u llvm/lib/AsmParser/llvmAsmParser.h.cvs:1.41 llvm/lib/AsmParser/llvmAsmParser.h.cvs:1.42
--- llvm/lib/AsmParser/llvmAsmParser.h.cvs:1.41	Fri Jan 12 13:22:51 2007
+++ llvm/lib/AsmParser/llvmAsmParser.h.cvs	Fri Jan 12 23:00:46 2007
@@ -1,9 +1,7 @@
-/* A Bison parser, made by GNU Bison 2.3.  */
+/* A Bison parser, made by GNU Bison 2.1.  */
 
-/* Skeleton interface for Bison's Yacc-like parsers in C
-
-   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
-   Free Software Foundation, Inc.
+/* Skeleton parser for Yacc-like parsing with Bison,
+   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -20,18 +18,10 @@
    Foundation, Inc., 51 Franklin Street, Fifth Floor,
    Boston, MA 02110-1301, USA.  */
 
-/* As a special exception, you may create a larger work that contains
-   part or all of the Bison parser skeleton and distribute that work
-   under terms of your choice, so long as that work isn't itself a
-   parser generator using the skeleton or a modified version thereof
-   as a parser skeleton.  Alternatively, if you modify or redistribute
-   the parser skeleton itself, you may (at your option) remove this
-   special exception, which will cause the skeleton and the resulting
-   Bison output files to be licensed under the GNU General Public
-   License without this special exception.
-
-   This special exception was added by the Free Software Foundation in
-   version 2.2 of Bison.  */
+/* As a special exception, when this file is copied by Bison into a
+   Bison output file, you may use that output file without restriction.
+   This special exception was added by the Free Software Foundation
+   in version 1.24 of Bison.  */
 
 /* Tokens.  */
 #ifndef YYTOKENTYPE
@@ -45,131 +35,130 @@
      UINTVAL = 261,
      FPVAL = 262,
      VOID = 263,
-     BOOL = 264,
-     INTTYPE = 265,
-     FLOAT = 266,
-     DOUBLE = 267,
-     LABEL = 268,
-     TYPE = 269,
-     VAR_ID = 270,
-     LABELSTR = 271,
-     STRINGCONSTANT = 272,
-     IMPLEMENTATION = 273,
-     ZEROINITIALIZER = 274,
-     TRUETOK = 275,
-     FALSETOK = 276,
-     BEGINTOK = 277,
-     ENDTOK = 278,
-     DECLARE = 279,
-     DEFINE = 280,
-     GLOBAL = 281,
-     CONSTANT = 282,
-     SECTION = 283,
-     VOLATILE = 284,
-     TO = 285,
-     DOTDOTDOT = 286,
-     NULL_TOK = 287,
-     UNDEF = 288,
-     INTERNAL = 289,
-     LINKONCE = 290,
-     WEAK = 291,
-     APPENDING = 292,
-     DLLIMPORT = 293,
-     DLLEXPORT = 294,
-     EXTERN_WEAK = 295,
-     OPAQUE = 296,
-     EXTERNAL = 297,
-     TARGET = 298,
-     TRIPLE = 299,
-     ENDIAN = 300,
-     POINTERSIZE = 301,
-     LITTLE = 302,
-     BIG = 303,
-     ALIGN = 304,
-     DEPLIBS = 305,
-     CALL = 306,
-     TAIL = 307,
-     ASM_TOK = 308,
-     MODULE = 309,
-     SIDEEFFECT = 310,
-     CC_TOK = 311,
-     CCC_TOK = 312,
-     CSRETCC_TOK = 313,
-     FASTCC_TOK = 314,
-     COLDCC_TOK = 315,
-     X86_STDCALLCC_TOK = 316,
-     X86_FASTCALLCC_TOK = 317,
-     DATALAYOUT = 318,
-     RET = 319,
-     BR = 320,
-     SWITCH = 321,
-     INVOKE = 322,
-     UNWIND = 323,
-     UNREACHABLE = 324,
-     ADD = 325,
-     SUB = 326,
-     MUL = 327,
-     UDIV = 328,
-     SDIV = 329,
-     FDIV = 330,
-     UREM = 331,
-     SREM = 332,
-     FREM = 333,
-     AND = 334,
-     OR = 335,
-     XOR = 336,
-     ICMP = 337,
-     FCMP = 338,
-     EQ = 339,
-     NE = 340,
-     SLT = 341,
-     SGT = 342,
-     SLE = 343,
-     SGE = 344,
-     ULT = 345,
-     UGT = 346,
-     ULE = 347,
-     UGE = 348,
-     OEQ = 349,
-     ONE = 350,
-     OLT = 351,
-     OGT = 352,
-     OLE = 353,
-     OGE = 354,
-     ORD = 355,
-     UNO = 356,
-     UEQ = 357,
-     UNE = 358,
-     MALLOC = 359,
-     ALLOCA = 360,
-     FREE = 361,
-     LOAD = 362,
-     STORE = 363,
-     GETELEMENTPTR = 364,
-     TRUNC = 365,
-     ZEXT = 366,
-     SEXT = 367,
-     FPTRUNC = 368,
-     FPEXT = 369,
-     BITCAST = 370,
-     UITOFP = 371,
-     SITOFP = 372,
-     FPTOUI = 373,
-     FPTOSI = 374,
-     INTTOPTR = 375,
-     PTRTOINT = 376,
-     PHI_TOK = 377,
-     SELECT = 378,
-     SHL = 379,
-     LSHR = 380,
-     ASHR = 381,
-     VAARG = 382,
-     EXTRACTELEMENT = 383,
-     INSERTELEMENT = 384,
-     SHUFFLEVECTOR = 385,
-     NORETURN = 386,
-     DEFAULT = 387,
-     HIDDEN = 388
+     INTTYPE = 264,
+     FLOAT = 265,
+     DOUBLE = 266,
+     LABEL = 267,
+     TYPE = 268,
+     VAR_ID = 269,
+     LABELSTR = 270,
+     STRINGCONSTANT = 271,
+     IMPLEMENTATION = 272,
+     ZEROINITIALIZER = 273,
+     TRUETOK = 274,
+     FALSETOK = 275,
+     BEGINTOK = 276,
+     ENDTOK = 277,
+     DECLARE = 278,
+     DEFINE = 279,
+     GLOBAL = 280,
+     CONSTANT = 281,
+     SECTION = 282,
+     VOLATILE = 283,
+     TO = 284,
+     DOTDOTDOT = 285,
+     NULL_TOK = 286,
+     UNDEF = 287,
+     INTERNAL = 288,
+     LINKONCE = 289,
+     WEAK = 290,
+     APPENDING = 291,
+     DLLIMPORT = 292,
+     DLLEXPORT = 293,
+     EXTERN_WEAK = 294,
+     OPAQUE = 295,
+     EXTERNAL = 296,
+     TARGET = 297,
+     TRIPLE = 298,
+     ENDIAN = 299,
+     POINTERSIZE = 300,
+     LITTLE = 301,
+     BIG = 302,
+     ALIGN = 303,
+     DEPLIBS = 304,
+     CALL = 305,
+     TAIL = 306,
+     ASM_TOK = 307,
+     MODULE = 308,
+     SIDEEFFECT = 309,
+     CC_TOK = 310,
+     CCC_TOK = 311,
+     CSRETCC_TOK = 312,
+     FASTCC_TOK = 313,
+     COLDCC_TOK = 314,
+     X86_STDCALLCC_TOK = 315,
+     X86_FASTCALLCC_TOK = 316,
+     DATALAYOUT = 317,
+     RET = 318,
+     BR = 319,
+     SWITCH = 320,
+     INVOKE = 321,
+     UNWIND = 322,
+     UNREACHABLE = 323,
+     ADD = 324,
+     SUB = 325,
+     MUL = 326,
+     UDIV = 327,
+     SDIV = 328,
+     FDIV = 329,
+     UREM = 330,
+     SREM = 331,
+     FREM = 332,
+     AND = 333,
+     OR = 334,
+     XOR = 335,
+     ICMP = 336,
+     FCMP = 337,
+     EQ = 338,
+     NE = 339,
+     SLT = 340,
+     SGT = 341,
+     SLE = 342,
+     SGE = 343,
+     ULT = 344,
+     UGT = 345,
+     ULE = 346,
+     UGE = 347,
+     OEQ = 348,
+     ONE = 349,
+     OLT = 350,
+     OGT = 351,
+     OLE = 352,
+     OGE = 353,
+     ORD = 354,
+     UNO = 355,
+     UEQ = 356,
+     UNE = 357,
+     MALLOC = 358,
+     ALLOCA = 359,
+     FREE = 360,
+     LOAD = 361,
+     STORE = 362,
+     GETELEMENTPTR = 363,
+     TRUNC = 364,
+     ZEXT = 365,
+     SEXT = 366,
+     FPTRUNC = 367,
+     FPEXT = 368,
+     BITCAST = 369,
+     UITOFP = 370,
+     SITOFP = 371,
+     FPTOUI = 372,
+     FPTOSI = 373,
+     INTTOPTR = 374,
+     PTRTOINT = 375,
+     PHI_TOK = 376,
+     SELECT = 377,
+     SHL = 378,
+     LSHR = 379,
+     ASHR = 380,
+     VAARG = 381,
+     EXTRACTELEMENT = 382,
+     INSERTELEMENT = 383,
+     SHUFFLEVECTOR = 384,
+     NORETURN = 385,
+     DEFAULT = 386,
+     HIDDEN = 387
    };
 #endif
 /* Tokens.  */
@@ -179,139 +168,137 @@
 #define UINTVAL 261
 #define FPVAL 262
 #define VOID 263
-#define BOOL 264
-#define INTTYPE 265
-#define FLOAT 266
-#define DOUBLE 267
-#define LABEL 268
-#define TYPE 269
-#define VAR_ID 270
-#define LABELSTR 271
-#define STRINGCONSTANT 272
-#define IMPLEMENTATION 273
-#define ZEROINITIALIZER 274
-#define TRUETOK 275
-#define FALSETOK 276
-#define BEGINTOK 277
-#define ENDTOK 278
-#define DECLARE 279
-#define DEFINE 280
-#define GLOBAL 281
-#define CONSTANT 282
-#define SECTION 283
-#define VOLATILE 284
-#define TO 285
-#define DOTDOTDOT 286
-#define NULL_TOK 287
-#define UNDEF 288
-#define INTERNAL 289
-#define LINKONCE 290
-#define WEAK 291
-#define APPENDING 292
-#define DLLIMPORT 293
-#define DLLEXPORT 294
-#define EXTERN_WEAK 295
-#define OPAQUE 296
-#define EXTERNAL 297
-#define TARGET 298
-#define TRIPLE 299
-#define ENDIAN 300
-#define POINTERSIZE 301
-#define LITTLE 302
-#define BIG 303
-#define ALIGN 304
-#define DEPLIBS 305
-#define CALL 306
-#define TAIL 307
-#define ASM_TOK 308
-#define MODULE 309
-#define SIDEEFFECT 310
-#define CC_TOK 311
-#define CCC_TOK 312
-#define CSRETCC_TOK 313
-#define FASTCC_TOK 314
-#define COLDCC_TOK 315
-#define X86_STDCALLCC_TOK 316
-#define X86_FASTCALLCC_TOK 317
-#define DATALAYOUT 318
-#define RET 319
-#define BR 320
-#define SWITCH 321
-#define INVOKE 322
-#define UNWIND 323
-#define UNREACHABLE 324
-#define ADD 325
-#define SUB 326
-#define MUL 327
-#define UDIV 328
-#define SDIV 329
-#define FDIV 330
-#define UREM 331
-#define SREM 332
-#define FREM 333
-#define AND 334
-#define OR 335
-#define XOR 336
-#define ICMP 337
-#define FCMP 338
-#define EQ 339
-#define NE 340
-#define SLT 341
-#define SGT 342
-#define SLE 343
-#define SGE 344
-#define ULT 345
-#define UGT 346
-#define ULE 347
-#define UGE 348
-#define OEQ 349
-#define ONE 350
-#define OLT 351
-#define OGT 352
-#define OLE 353
-#define OGE 354
-#define ORD 355
-#define UNO 356
-#define UEQ 357
-#define UNE 358
-#define MALLOC 359
-#define ALLOCA 360
-#define FREE 361
-#define LOAD 362
-#define STORE 363
-#define GETELEMENTPTR 364
-#define TRUNC 365
-#define ZEXT 366
-#define SEXT 367
-#define FPTRUNC 368
-#define FPEXT 369
-#define BITCAST 370
-#define UITOFP 371
-#define SITOFP 372
-#define FPTOUI 373
-#define FPTOSI 374
-#define INTTOPTR 375
-#define PTRTOINT 376
-#define PHI_TOK 377
-#define SELECT 378
-#define SHL 379
-#define LSHR 380
-#define ASHR 381
-#define VAARG 382
-#define EXTRACTELEMENT 383
-#define INSERTELEMENT 384
-#define SHUFFLEVECTOR 385
-#define NORETURN 386
-#define DEFAULT 387
-#define HIDDEN 388
-
-
-
-
-#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
-typedef union YYSTYPE
-#line 883 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
-{
+#define INTTYPE 264
+#define FLOAT 265
+#define DOUBLE 266
+#define LABEL 267
+#define TYPE 268
+#define VAR_ID 269
+#define LABELSTR 270
+#define STRINGCONSTANT 271
+#define IMPLEMENTATION 272
+#define ZEROINITIALIZER 273
+#define TRUETOK 274
+#define FALSETOK 275
+#define BEGINTOK 276
+#define ENDTOK 277
+#define DECLARE 278
+#define DEFINE 279
+#define GLOBAL 280
+#define CONSTANT 281
+#define SECTION 282
+#define VOLATILE 283
+#define TO 284
+#define DOTDOTDOT 285
+#define NULL_TOK 286
+#define UNDEF 287
+#define INTERNAL 288
+#define LINKONCE 289
+#define WEAK 290
+#define APPENDING 291
+#define DLLIMPORT 292
+#define DLLEXPORT 293
+#define EXTERN_WEAK 294
+#define OPAQUE 295
+#define EXTERNAL 296
+#define TARGET 297
+#define TRIPLE 298
+#define ENDIAN 299
+#define POINTERSIZE 300
+#define LITTLE 301
+#define BIG 302
+#define ALIGN 303
+#define DEPLIBS 304
+#define CALL 305
+#define TAIL 306
+#define ASM_TOK 307
+#define MODULE 308
+#define SIDEEFFECT 309
+#define CC_TOK 310
+#define CCC_TOK 311
+#define CSRETCC_TOK 312
+#define FASTCC_TOK 313
+#define COLDCC_TOK 314
+#define X86_STDCALLCC_TOK 315
+#define X86_FASTCALLCC_TOK 316
+#define DATALAYOUT 317
+#define RET 318
+#define BR 319
+#define SWITCH 320
+#define INVOKE 321
+#define UNWIND 322
+#define UNREACHABLE 323
+#define ADD 324
+#define SUB 325
+#define MUL 326
+#define UDIV 327
+#define SDIV 328
+#define FDIV 329
+#define UREM 330
+#define SREM 331
+#define FREM 332
+#define AND 333
+#define OR 334
+#define XOR 335
+#define ICMP 336
+#define FCMP 337
+#define EQ 338
+#define NE 339
+#define SLT 340
+#define SGT 341
+#define SLE 342
+#define SGE 343
+#define ULT 344
+#define UGT 345
+#define ULE 346
+#define UGE 347
+#define OEQ 348
+#define ONE 349
+#define OLT 350
+#define OGT 351
+#define OLE 352
+#define OGE 353
+#define ORD 354
+#define UNO 355
+#define UEQ 356
+#define UNE 357
+#define MALLOC 358
+#define ALLOCA 359
+#define FREE 360
+#define LOAD 361
+#define STORE 362
+#define GETELEMENTPTR 363
+#define TRUNC 364
+#define ZEXT 365
+#define SEXT 366
+#define FPTRUNC 367
+#define FPEXT 368
+#define BITCAST 369
+#define UITOFP 370
+#define SITOFP 371
+#define FPTOUI 372
+#define FPTOSI 373
+#define INTTOPTR 374
+#define PTRTOINT 375
+#define PHI_TOK 376
+#define SELECT 377
+#define SHL 378
+#define LSHR 379
+#define ASHR 380
+#define VAARG 381
+#define EXTRACTELEMENT 382
+#define INSERTELEMENT 383
+#define SHUFFLEVECTOR 384
+#define NORETURN 385
+#define DEFAULT 386
+#define HIDDEN 387
+
+
+
+
+#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
+#line 883 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+typedef union YYSTYPE {
   llvm::Module                           *ModuleVal;
   llvm::Function                         *FunctionVal;
   llvm::BasicBlock                       *BasicBlockVal;
@@ -356,10 +343,9 @@
   llvm::Module::Endianness          Endianness;
   llvm::ICmpInst::Predicate         IPredicate;
   llvm::FCmpInst::Predicate         FPredicate;
-}
-/* Line 1489 of yacc.c.  */
-#line 362 "llvmAsmParser.tab.h"
-	YYSTYPE;
+} YYSTYPE;
+/* Line 1447 of yacc.c.  */
+#line 349 "llvmAsmParser.tab.h"
 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
 # define YYSTYPE_IS_DECLARED 1
 # define YYSTYPE_IS_TRIVIAL 1
@@ -367,3 +353,5 @@
 
 extern YYSTYPE llvmAsmlval;
 
+
+


Index: llvm/lib/AsmParser/llvmAsmParser.y.cvs
diff -u llvm/lib/AsmParser/llvmAsmParser.y.cvs:1.53 llvm/lib/AsmParser/llvmAsmParser.y.cvs:1.54
--- llvm/lib/AsmParser/llvmAsmParser.y.cvs:1.53	Fri Jan 12 13:20:46 2007
+++ llvm/lib/AsmParser/llvmAsmParser.y.cvs	Fri Jan 12 23:00:46 2007
@@ -970,7 +970,7 @@
 // Built in types...
 %type  <TypeVal> Types ResultTypes
 %type  <PrimType> IntType FPType PrimType           // Classifications
-%token <PrimType> VOID BOOL INTTYPE 
+%token <PrimType> VOID INTTYPE 
 %token <PrimType> FLOAT DOUBLE LABEL
 %token TYPE
 
@@ -1198,7 +1198,7 @@
 
 // Derived types are added later...
 //
-PrimType : BOOL | INTTYPE | FLOAT | DOUBLE | LABEL ;
+PrimType : INTTYPE | FLOAT | DOUBLE | LABEL ;
 
 Types 
   : OPAQUE {
@@ -1686,11 +1686,13 @@
     $$ = ConstantInt::get($1, $2);
     CHECK_FOR_ERROR
   }
-  | BOOL TRUETOK {                      // Boolean constants
+  | INTTYPE TRUETOK {                      // Boolean constants
+    assert(cast<IntegerType>($1)->getBitWidth() == 1 && "Not Bool?");
     $$ = ConstantInt::getTrue();
     CHECK_FOR_ERROR
   }
-  | BOOL FALSETOK {                     // Boolean constants
+  | INTTYPE FALSETOK {                     // Boolean constants
+    assert(cast<IntegerType>($1)->getBitWidth() == 1 && "Not Bool?");
     $$ = ConstantInt::getFalse();
     CHECK_FOR_ERROR
   }
@@ -2362,7 +2364,8 @@
     CHECK_FOR_ERROR
     $$ = new BranchInst(tmpBB);
   }                                                  // Conditional Branch...
-  | BR BOOL ValueRef ',' LABEL ValueRef ',' LABEL ValueRef {  
+  | BR INTTYPE ValueRef ',' LABEL ValueRef ',' LABEL ValueRef {  
+    assert(cast<IntegerType>($2)->getBitWidth() == 1 && "Not Bool?");
     BasicBlock* tmpBBA = getBBVal($6);
     CHECK_FOR_ERROR
     BasicBlock* tmpBBB = getBBVal($9);






More information about the llvm-commits mailing list