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

Anton Korobeynikov asl at math.spbu.ru
Fri Jan 12 11:23:07 PST 2007



Changes in directory llvm/lib/AsmParser:

Lexer.cpp.cvs updated: 1.24 -> 1.25
llvmAsmParser.cpp.cvs updated: 1.51 -> 1.52
llvmAsmParser.h.cvs updated: 1.40 -> 1.41
---
Log message:

Regenerate


---
Diffs of the changes:  (+6104 -4652)

 Lexer.cpp.cvs         | 3070 +++++++++++----------
 llvmAsmParser.cpp.cvs | 7199 ++++++++++++++++++++++++++++----------------------
 llvmAsmParser.h.cvs   |  456 ++-
 3 files changed, 6104 insertions(+), 4621 deletions(-)


Index: llvm/lib/AsmParser/Lexer.cpp.cvs
diff -u llvm/lib/AsmParser/Lexer.cpp.cvs:1.24 llvm/lib/AsmParser/Lexer.cpp.cvs:1.25
--- llvm/lib/AsmParser/Lexer.cpp.cvs:1.24	Fri Jan 12 01:28:27 2007
+++ llvm/lib/AsmParser/Lexer.cpp.cvs	Fri Jan 12 13:22:51 2007
@@ -1,50 +1,93 @@
-#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 2 "Lexer.cpp"
 
-#line 20 "Lexer.cpp"
-/* A lexical scanner generated by flex*/
+#line 4 "Lexer.cpp"
 
-/* Scanner skeleton version:
- * $Header: /var/cvs/llvm/llvm/lib/AsmParser/Lexer.cpp.cvs,v 1.24 2007/01/12 07:28:27 reid Exp $
- */
+#define  YY_INT_ALIGNED short int
+
+/* A lexical scanner generated by flex */
 
 #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 <unistd.h>
+#include <string.h>
+#include <errno.h>
+#include <stdlib.h>
 
+/* end standard C headers. */
 
-/* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
-#ifdef c_plusplus
-#ifndef __cplusplus
-#define __cplusplus
-#endif
+/* 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 <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 */
 
-#ifdef __cplusplus
+/* Limits of integral types. */
+#ifndef INT8_MIN
+#define INT8_MIN               (-128)
+#endif
+#ifndef INT16_MIN
+#define INT16_MIN              (-32767-1)
+#endif
+#ifndef INT32_MIN
+#define INT32_MIN              (-2147483647-1)
+#endif
+#ifndef INT8_MAX
+#define INT8_MAX               (127)
+#endif
+#ifndef INT16_MAX
+#define INT16_MAX              (32767)
+#endif
+#ifndef INT32_MAX
+#define INT32_MAX              (2147483647)
+#endif
+#ifndef UINT8_MAX
+#define UINT8_MAX              (255U)
+#endif
+#ifndef UINT16_MAX
+#define UINT16_MAX             (65535U)
+#endif
+#ifndef UINT32_MAX
+#define UINT32_MAX             (4294967295U)
+#endif
 
-#include <stdlib.h>
+#endif /* ! FLEXINT_H */
 
-/* Use prototypes in function declarations. */
-#define YY_USE_PROTOS
+#ifdef __cplusplus
 
 /* The "const" storage-class-modifier is valid. */
 #define YY_USE_CONST
@@ -53,34 +96,17 @@
 
 #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
 
@@ -95,80 +121,88 @@
  * 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 yyrestart( yyin )
+#define YY_NEW_FILE llvmAsmrestart(llvmAsmin  )
 
 #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 int yyleng;
-extern FILE *yyin, *yyout;
+extern FILE *llvmAsmin, *llvmAsmout;
 
 #define EOB_ACT_CONTINUE_SCAN 0
 #define EOB_ACT_END_OF_FILE 1
 #define EOB_ACT_LAST_MATCH 2
 
-/* 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. */
-
+    /* 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. */
 #define yyless(n) \
 	do \
 		{ \
-		/* Undo effects of setting up yytext. */ \
-		*yy_cp = yy_hold_char; \
+		/* Undo effects of setting up llvmAsmtext. */ \
+        int yyless_macro_arg = (n); \
+        YY_LESS_LINENO(yyless_macro_arg);\
+		*yy_cp = (yy_hold_char); \
 		YY_RESTORE_YY_MORE_OFFSET \
-		yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \
-		YY_DO_BEFORE_ACTION; /* set up yytext again */ \
+		(yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
+		YY_DO_BEFORE_ACTION; /* set up llvmAsmtext again */ \
 		} \
 	while ( 0 )
 
-#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
+#define unput(c) yyunput( c, (yytext_ptr)  )
 
 /* The following is because we cannot portably get our hands on size_t
  * (without autoconf's help, which isn't available because we want
  * flex-generated scanners to compile on their own).
  */
-typedef unsigned int yy_size_t;
 
+#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;
@@ -205,12 +239,16 @@
 	 */
 	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
@@ -220,199 +258,203 @@
 	 * possible backing-up.
 	 *
 	 * When we actually see the EOF, we change the status to "new"
-	 * (via yyrestart()), so that the user can continue scanning by
-	 * just pointing yyin at a new input file.
+	 * (via llvmAsmrestart()), so that the user can continue scanning by
+	 * just pointing llvmAsmin at a new input file.
 	 */
 #define YY_BUFFER_EOF_PENDING 2
+
 	};
+#endif /* !YY_STRUCT_YY_BUFFER_STATE */
 
-static YY_BUFFER_STATE yy_current_buffer = 0;
+/* 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. */
 
 /* 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_current_buffer
+#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
+                          ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
+                          : NULL)
 
+/* 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 yytext is formed. */
+/* yy_hold_char holds the character lost when llvmAsmtext is formed. */
 static char yy_hold_char;
-
 static int yy_n_chars;		/* number of characters read into yy_ch_buf */
-
-
-int yyleng;
+int llvmAsmleng;
 
 /* Points to current character in buffer. */
 static char *yy_c_buf_p = (char *) 0;
-static int yy_init = 1;		/* whether we need to initialize */
+static int yy_init = 0;		/* whether we need to initialize */
 static int yy_start = 0;	/* start state number */
 
-/* Flag which is used to allow yywrap()'s to do buffer switches
- * instead of setting up a fresh yyin.  A bit of a hack ...
+/* Flag which is used to allow llvmAsmwrap()'s to do buffer switches
+ * instead of setting up a fresh llvmAsmin.  A bit of a hack ...
  */
 static int yy_did_buffer_switch_on_eof;
 
-void yyrestart YY_PROTO(( FILE *input_file ));
+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 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_new_buffer llvmAsm_create_buffer
 
 #define yy_set_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; \
+	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; \
 	}
 
 #define yy_set_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; \
+	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; \
 	}
 
-#define YY_AT_BOL() (yy_current_buffer->yy_at_bol)
-
+#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
 
-#define YY_USES_REJECT
+/* Begin user sect3 */
 
-#define yywrap() 1
+#define llvmAsmwrap(n) 1
 #define YY_SKIP_YYWRAP
+
 typedef unsigned char YY_CHAR;
-FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
+
+FILE *llvmAsmin = (FILE *) 0, *llvmAsmout = (FILE *) 0;
+
 typedef int yy_state_type;
-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[] ));
+
+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[]  );
 
 /* Done after the current pattern has been matched and before the
- * corresponding action - sets up yytext.
+ * corresponding action - sets up llvmAsmtext.
  */
 #define YY_DO_BEFORE_ACTION \
-	yytext_ptr = yy_bp; \
-	yyleng = (int) (yy_cp - yy_bp); \
-	yy_hold_char = *yy_cp; \
+	(yytext_ptr) = yy_bp; \
+	llvmAsmleng = (size_t) (yy_cp - yy_bp); \
+	(yy_hold_char) = *yy_cp; \
 	*yy_cp = '\0'; \
-	yy_c_buf_p = yy_cp;
-
-#define YY_NUM_RULES 135
-#define YY_END_OF_BUFFER 136
-static yyconst short int yy_acclist[213] =
-    {   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,  125,  123,  122,  122,  129,  127,  131,  126,    1,
-      108,   39,   68,   53,   69,   64,   23,  125,  122,  122,
-      130,  131,   20,  131,  132,   54,   63,   37,   32,   40,
-
-        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,   47,
-       89,   67,   59,  115,   62,   66,  116,  104,   22,  128,
-       58,   92,   61,   24,    4,   51,   57,   60,   46,   12,
-       91,  131,   34,    2,    5,   48,   94,   50,  117,   90,
-       21,  114,   43,    7,   49,   28,   42,   98,   97,    8,
-      110,   31,  113,   36,   52,  102,   96,  109,   25,   26,
-       95,  111,  106,  101,   41,    6,   27,   93,   35,    9,
-       17,   10,   99,   11,  100,   33,   13,   15,   14,   30,
-
-       38,   16,   29,  112,  118,  120,  121,   44,  119,   18,
-       45,   19
-    } ;
+	(yy_c_buf_p) = yy_cp;
 
-static yyconst short int yy_accept[552] =
+#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] =
     {   0,
-        1,    1,    1,    2,    4,    7,    9,   11,   13,   15,
-       17,   19,   21,   24,   27,   30,   32,   34,   36,   38,
-       40,   42,   44,   46,   48,   50,   52,   54,   56,   58,
-       60,   62,   64,   66,   68,   70,   72,   72,   73,   73,
-       74,   75,   76,   77,   77,   78,   78,   79,   80,   80,
-       81,   81,   81,   81,   81,   81,   81,   81,   81,   82,
-       82,   83,   83,   83,   83,   83,   83,   83,   83,   84,
-       84,   84,   84,   84,   84,   84,   84,   84,   84,   85,
-       85,   85,   85,   85,   85,   85,   85,   85,   85,   85,
-       86,   86,   86,   86,   86,   86,   86,   87,   87,   87,
-
-       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
-       87,   87,   87,   87,   88,   88,   88,   88,   88,   88,
-       88,   88,   88,   88,   88,   88,   88,   88,   88,   88,
-       89,   90,   92,   93,   94,   95,   95,   96,   97,   97,
-       97,   98,   98,   98,   99,   99,  100,  100,  100,  100,
-      101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
-      102,  102,  102,  102,  102,  102,  102,  102,  102,  102,
-      102,  102,  102,  102,  102,  102,  102,  102,  102,  102,
-      102,  102,  102,  102,  103,  103,  104,  105,  106,  107,
-      108,  109,  109,  110,  111,  111,  111,  112,  112,  112,
-
-      112,  112,  112,  113,  114,  115,  115,  115,  115,  116,
-      117,  117,  117,  118,  118,  118,  118,  118,  118,  118,
-      118,  119,  120,  121,  121,  122,  123,  123,  124,  125,
-      125,  125,  125,  125,  125,  125,  125,  125,  126,  126,
-      126,  127,  128,  128,  128,  128,  129,  129,  129,  129,
-      130,  130,  130,  131,  132,  132,  132,  132,  132,  132,
-      132,  132,  132,  132,  132,  132,  132,  132,  132,  132,
-      133,  134,  134,  134,  134,  134,  135,  136,  136,  136,
-      137,  137,  137,  137,  137,  137,  137,  137,  137,  138,
-      139,  139,  139,  140,  140,  140,  140,  141,  142,  142,
-
-      142,  143,  143,  143,  143,  144,  144,  144,  145,  145,
-      145,  146,  146,  147,  148,  148,  148,  148,  148,  149,
-      149,  150,  150,  151,  151,  151,  152,  153,  154,  154,
-      154,  155,  155,  155,  155,  155,  155,  155,  155,  155,
-      155,  155,  155,  155,  155,  155,  156,  156,  157,  158,
-      158,  158,  158,  158,  158,  158,  158,  158,  158,  158,
-      159,  159,  159,  159,  159,  159,  159,  159,  159,  159,
-      159,  159,  159,  160,  160,  160,  160,  161,  161,  162,
-      162,  162,  162,  162,  162,  162,  162,  163,  163,  163,
-      164,  164,  164,  164,  164,  165,  165,  165,  165,  166,
-
-      167,  167,  167,  168,  169,  170,  170,  170,  171,  171,
-      171,  171,  171,  172,  172,  173,  174,  175,  176,  176,
-      176,  176,  177,  177,  177,  178,  179,  180,  181,  182,
-      182,  183,  184,  184,  184,  184,  184,  184,  185,  185,
-      186,  186,  187,  188,  188,  188,  188,  188,  188,  189,
-      189,  189,  189,  189,  189,  189,  189,  189,  190,  190,
-      190,  190,  190,  190,  190,  190,  190,  191,  191,  191,
-      191,  191,  192,  192,  192,  192,  192,  193,  194,  195,
-      195,  196,  196,  196,  196,  197,  197,  197,  197,  198,
-      198,  199,  200,  200,  200,  200,  200,  200,  200,  200,
-
-      200,  200,  200,  200,  200,  201,  201,  201,  201,  201,
-      201,  201,  201,  202,  202,  202,  202,  202,  203,  203,
-      203,  203,  203,  204,  204,  205,  205,  205,  205,  205,
-      205,  205,  205,  205,  205,  205,  205,  205,  206,  206,
-      207,  208,  208,  209,  209,  210,  211,  212,  212,  213,
-      213
+        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
     } ;
 
-static yyconst int yy_ec[256] =
+static yyconst flex_int32_t yy_ec[256] =
     {   0,
         1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
         1,    1,    2,    1,    1,    1,    1,    1,    1,    1,
@@ -444,7 +486,7 @@
         1,    1,    1,    1,    1
     } ;
 
-static yyconst int yy_meta[44] =
+static yyconst flex_int32_t yy_meta[44] =
     {   0,
         1,    1,    2,    1,    3,    1,    1,    3,    3,    3,
         3,    3,    3,    4,    1,    3,    3,    3,    3,    3,
@@ -453,432 +495,446 @@
         3,    3,    3
     } ;
 
-static yyconst short int yy_base[556] =
+static yyconst flex_int16_t yy_base[562] =
     {   0,
-        0,    0, 1195, 1196, 1196, 1196, 1190, 1179,   36,   40,
+        0,    0, 1206, 1207, 1207, 1207, 1201, 1190,   36,   40,
        44,   50,   56,   62,    0,   63,   66,   81,   89,   47,
-      108,   91,  134,   92,   72,   93,  152,  124,  109,  178,
-      138,  209,  121,  111,  146,  119, 1188, 1196, 1177, 1196,
-        0,  183,  198,  215,  236,   70,  241,  256,  261,    0,
-       68,  122,  140,  125,  160,  101,  154,   31, 1176,  153,
-      155,  183,   48,  184,  265,  170,  192,  149, 1175,  206,
-      227,  203,  175,  225,  273,  274,  223,  262,  269,  277,
-      228,  278,  215,  281,  287,  279,  290,  289,  294, 1174,
-      295,  288,  302,  306,  307,  312,  313,  314,  318,  299,
-
-      319,   46,  322,  323,  324,  328,  326,  332,  336,  339,
-      340,  348,  351, 1173,  353,  337,  354,  358,  359,  360,
-      362,  379,  365,  369,  376,  370,  386,  380,  381, 1172,
-        0,  396,  413, 1171,  427,  444,    0, 1170,  396,  399,
-     1169,  404,  398, 1168,  390, 1167,  414,  418,  420, 1166,
-      431,  406,  445,  429,  432,  446,  448,  449,  450,  451,
-      452,  453,  455,  344,  457,  460,  466,  467,  468,  470,
-      474,  471,  472,  483,  486,  476,  489,  491,  481,  499,
-      496,  497,  500, 1165,  501, 1164, 1163, 1162, 1161, 1160,
-     1159,  502, 1158, 1157,  503,  506, 1156,  534,  510,  511,
-
-      514,  515, 1155, 1154, 1153,  508,  519,  527, 1152, 1151,
-      546,  526, 1150,  525,  549,  550,  551,  554,  556,  552,
-     1149, 1148, 1147,  555, 1146, 1145,  557, 1144, 1143,  558,
-      559,  553,  574,  513,  575,  568,  581, 1142,  560,  576,
-     1196,  591,  599,  605,  609,  614,  615,  584,  616, 1141,
-      617,  618, 1140, 1139,  619,  620,  621,  622,  624,  625,
-      627,  628,  630,  635,  631,  638,  647,  639,  649, 1138,
-     1137,  641,  645,  651,  653, 1136, 1135,  654,  657, 1134,
-      658,  660,  661,  665,  666,  663,  670,  671, 1133, 1132,
-      672,  674, 1131,  676,  679,  685,    0, 1130,  684,  687,
-
-     1129,  691,  695,  696, 1128,  698,  692, 1127,  705,  693,
-     1126,  709, 1125, 1124,  710,  711,  712,  713, 1123,  715,
-     1122,  718, 1121,  722,  724, 1120,  729, 1119,  729,  723,
-     1118,  733,  735,  738,  739,  740,  747,  748,  750,  751,
-      752,  749,  759,  760,  754, 1117,  762, 1116, 1115,  753,
-      765,  763,  764,  767,  772,  774,  775,  779,  781, 1114,
-      783,  784,  787,  786,  796,  799,  789,  785,  791,  801,
-      807,  804, 1113,  806,  809,  810, 1112,  811, 1111,  813,
-      821,  815,  812,  822,  824,  828, 1110,  831,  833, 1109,
-      834,  835,  836,  837, 1108,  838,  839,  840, 1107, 1106,
-
-      848,  843, 1105, 1104, 1103,  854,  849, 1102,  841,  859,
-      862,  855, 1101,  863, 1100, 1099, 1098, 1097,  869,  871,
-      872, 1096,  873,  874, 1095, 1094, 1093, 1092, 1091,  875,
-     1090, 1089,  876,  877,  885,  879,  880, 1088,  881, 1087,
-      883, 1086, 1085,  886,  894,  895,  896,  900, 1084,  903,
-      902,  898,  905,  906,  908,  910,  914, 1083,  916,  922,
-      918,  924,  925,  928,  926,  929, 1080,  930,  934,  936,
-      938, 1070,  943,  939,  942,  944, 1069, 1068, 1066,  950,
-     1064,  946,  945,  960, 1063,  961,  962,  951, 1062,  969,
-     1061, 1060,  970,  971,  972,  973,  974,  976,  977,  979,
-
-      981,  982,  983,  986, 1058,  985,  988,  989,  993,  994,
-      997, 1000, 1057, 1001, 1007, 1009, 1011, 1055, 1012, 1013,
-     1014, 1015, 1054, 1017, 1053, 1018, 1030, 1025, 1028, 1019,
-     1029, 1020, 1031, 1034, 1039, 1042, 1044,  719, 1048,  586,
-      583, 1049,  469, 1050,  415,  248,  245, 1051,  208, 1196,
-     1086, 1088,  169, 1092,  106
+      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
     } ;
 
-static yyconst short int yy_def[556] =
+static yyconst flex_int16_t yy_def[562] =
     {   0,
-      550,    1,  550,  550,  550,  550,  551,  552,  553,  550,
-      552,  552,  552,  552,  554,  552,  552,  552,  552,  552,
-      552,  552,  552,  552,  552,  552,  552,  552,  552,  552,
-      552,  552,  552,  552,  552,  552,  551,  550,  552,  550,
-      555,  555,  550,  550,  552,  552,  552,  552,  552,  554,
-      552,  552,  552,  552,  552,  552,  552,  552,  552,  552,
-      552,  552,  552,  552,  552,  552,  552,  552,  552,  552,
-      552,  552,  552,  552,  552,  552,  552,  552,   23,  552,
-      552,  552,  552,  552,  552,  552,  552,  552,  552,  552,
-      552,  552,  552,  552,  552,  552,  552,  552,  552,  552,
-
-      552,  552,  552,  552,  552,  552,  552,  552,  552,  552,
-      552,  552,  552,  552,  552,  552,  552,  552,  552,  552,
-      552,  552,  552,  552,  552,  552,  552,  552,  552,  550,
-      555,  555,  550,  552,  552,  552,   49,  552,  552,  552,
-      552,  552,  552,  552,  552,  552,  552,  552,  552,  552,
-      552,  552,  552,  552,  552,  552,  552,  552,  552,  552,
-      552,  552,  552,  552,  552,  552,  552,  552,  552,  552,
-      552,  552,  552,  552,  552,  552,  552,  552,  552,  552,
-      552,  552,  552,  552,  552,  552,  552,  552,  552,  552,
-      552,  552,  552,  552,  552,  552,  552,   49,  552,  552,
-
-      552,  552,  552,  552,  552,  552,  552,  552,  552,  552,
-      552,  552,  552,  552,  552,  552,  552,  552,  552,  552,
-      552,  552,  552,  552,  552,  552,  552,  552,  552,  552,
-      552,  552,  552,  552,  552,  552,  552,  552,  552,  552,
-      550,  550,  550,  550,  552,  552,  552,  552,  552,  552,
-      552,  552,  552,  552,  552,  552,  552,  552,  552,  552,
-      552,  552,  552,  552,  552,  552,  552,  552,  552,  552,
-      552,  552,  552,  552,  552,  552,  552,  552,  552,  552,
-      552,  552,  552,  552,  552,  552,  552,  552,  552,  552,
-      552,  552,  552,  552,  552,  552,  198,  552,  552,  552,
-
-      552,  552,  552,  552,  552,  552,  552,  552,  552,  552,
-      552,  552,  552,  552,  552,  552,  552,  552,  552,  552,
-      552,  552,  552,  552,  552,  552,  550,  552,  552,  552,
-      552,  552,  552,  552,  552,  552,  552,  552,  552,  552,
-      552,  552,  552,  552,  552,  552,  552,  552,  552,  552,
-      552,  552,  552,  552,  552,  552,  552,  552,  552,  552,
-      552,  552,  552,  552,  552,  552,  552,  552,  552,  552,
-      552,  552,  552,  552,  552,  552,  552,  552,  552,  552,
-      552,  552,  552,  552,  552,  552,  552,  552,  552,  552,
-      552,  552,  552,  552,  552,  552,  552,  552,  552,  552,
-
-      552,  552,  552,  552,  552,  552,  552,  552,  552,  552,
-      552,  552,  552,  552,  552,  552,  552,  552,  552,  552,
-      552,  552,  552,  552,  552,  552,  552,  552,  552,  552,
-      552,  552,  552,  552,  552,  552,  552,  552,  552,  552,
-      552,  552,  552,  552,  552,  552,  552,  552,  552,  552,
-      552,  552,  552,  552,  552,  552,  552,  552,  552,  552,
-      552,  552,  552,  552,  552,  552,  552,  552,  552,  552,
-      552,  552,  552,  552,  552,  552,  552,  552,  552,  552,
-      552,  552,  552,  552,  552,  552,  552,  552,  552,  552,
-      552,  552,  552,  552,  552,  552,  552,  552,  552,  552,
-
-      552,  552,  552,  552,  552,  552,  552,  552,  552,  552,
-      552,  552,  552,  552,  552,  552,  552,  552,  552,  552,
-      552,  552,  552,  552,  552,  552,  552,  552,  552,  552,
-      552,  552,  552,  552,  552,  552,  552,  552,  552,  552,
-      552,  552,  552,  552,  552,  552,  552,  552,  552,    0,
-      550,  550,  550,  550,  550
+      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
     } ;
 
-static yyconst short int yy_nxt[1240] =
+static yyconst flex_int16_t yy_nxt[1251] =
     {   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,    8,   23,    8,   24,   25,
-       26,   27,   28,    8,   29,   30,   31,   32,   33,   34,
-       35,    8,   36,   42,   40,   43,   43,   43,   43,   44,
-       44,   44,   44,   45,   45,   45,   45,   40,   46,   40,
-       40,   40,  148,   40,   47,   48,   48,   48,   48,   40,
-       47,   48,   48,   48,   48,   40,   40,   68,  134,   40,
-       69,   40,  153,   40,   51,   40,  198,   70,   56,  138,
-       87,   52,   57,   53,   40,   54,   49,   58,   55,   60,
-
-       59,   61,   40,   88,   40,   40,   40,   64,  131,   89,
-       83,   65,   62,   77,   40,   90,   63,   66,   84,   78,
-       67,   40,   40,   85,   40,  145,   71,   86,   72,   73,
-       91,  101,   40,  126,   40,   40,   74,   40,   40,  124,
-       75,  129,   76,   79,   79,   79,   79,   40,  139,   98,
-      140,   40,  125,   40,   80,   99,  113,  142,  127,   40,
-      100,  141,   40,   81,   82,   40,   40,   40,   40,  114,
-      160,   41,  115,   40,   92,  150,   93,  128,  146,  116,
-       94,  149,   95,   40,   96,  143,   97,  102,   40,  144,
-      147,   40,  132,  132,  132,  132,   40,   40,  158,  103,
-
-      104,  165,  105,  106,  107,   40,  108,   43,   43,   43,
-       43,  151,  109,  152,  110,  111,   40,  112,  102,   40,
-      154,   40,   40,  133,   44,   44,   44,   44,   40,  159,
-      117,  118,  164,  119,  177,  120,   40,  121,   40,  122,
-       40,   40,  161,  123,   47,   45,   45,   45,   45,   40,
-      135,  135,  135,  135,   40,  162,  166,  136,   40,  170,
-      173,   40,  163,  136,   47,   48,   48,   48,   48,   40,
-      137,  137,  137,  137,   40,   40,  137,  137,   40,  137,
-      137,  137,  137,  137,  137,  155,   40,   40,  156,   39,
-       40,   40,   40,  171,   40,  167,  169,  157,   39,   39,
-
-       40,   40,   40,   40,  181,  180,  172,   40,   40,  168,
-      183,  178,   40,  174,  175,   40,  176,  179,  182,   40,
-       40,  186,  184,  185,  187,   40,   40,   40,  189,  191,
-      192,   40,   40,  196,  193,   40,   40,   40,  188,   40,
-      194,   40,  190,  200,  195,   40,  203,  207,  199,   40,
-       40,  201,   40,   40,  209,  197,  205,   40,  211,  213,
-      204,   40,  208,  202,   40,  206,   40,   40,  210,  219,
-      212,   40,   40,   40,  214,   40,  270,  215,   40,  217,
-      220,  222,   40,   40,  225,  216,  233,  232,  236,   40,
-      218,  221,   40,   40,   40,  223,  224,  237,  226,   40,
-
-      227,  228,  234,   40,  235,  132,  132,  132,  132,   40,
-      229,   40,   40,  230,  238,  239,  251,   40,  231,   40,
-      247,  240,  242,  242,  242,  242,  249,   40,   40,  243,
-      248,   40,  250,   40,  252,  243,  135,  135,  135,  135,
-       40,  256,   40,  136,   40,   40,  253,  258,  254,  136,
-      244,  245,  255,  246,  246,  246,  246,   40,   40,   40,
-      259,   40,   40,   40,   40,   40,   40,  257,   40,  264,
-       40,  262,  260,   40,  266,  263,  261,  265,  272,   40,
-       40,   40,   40,   40,   40,   40,  267,   40,  268,   40,
-      276,  269,  278,  279,   40,  271,   40,  277,  274,   40,
-
-      281,  275,   40,  280,   40,  282,  273,  285,  283,   40,
-       40,  286,   40,   40,   40,   40,   40,  288,  287,   40,
-      289,   40,  284,   40,   40,  291,   40,   40,   40,  293,
-      290,  302,   40,  295,  321,  294,  300,  292,   40,   40,
-       40,  303,  296,  297,  297,  297,  297,  299,  298,  297,
-      297,  301,  297,  297,  297,  297,  297,  297,  304,   40,
-      306,  307,   40,   40,   40,   40,   40,   40,   40,   40,
-       40,   40,   40,   40,  309,  305,  311,  308,  313,  316,
-      317,   40,  319,  310,  312,  318,  315,   40,   40,   40,
-      314,  325,  320,  322,   40,  323,   40,   40,  324,   40,
-
-      242,  242,  242,  242,  329,  244,  244,  243,  327,  327,
-      327,  327,  326,  243,  327,  327,  327,  327,  246,  246,
-      246,  246,   40,  246,  246,  246,  246,   40,   40,   40,
-       40,   40,   40,   40,   40,   40,  332,   40,   40,  333,
-       40,   40,  337,   40,   40,  328,  330,  331,   40,  343,
-      336,   40,   40,  339,   40,  338,  334,  335,   40,  341,
-       40,  346,   40,  342,   40,  345,   40,   40,  340,  347,
-       40,   40,  344,   40,   40,  354,   40,  348,   40,   40,
-      355,  349,  353,   40,   40,   40,  350,   40,  351,   40,
-      352,  360,   40,  359,  356,  357,  358,   40,   40,  362,
-
-       40,  361,  364,  363,   40,   40,   40,  369,   40,   40,
-      368,   40,  374,  365,  370,  366,  367,  371,   40,  372,
-      373,  376,   40,   40,   40,   40,   40,  375,   40,  377,
-      380,   40,   40,  378,  379,   40,   40,   40,  327,  327,
-      327,  327,   40,  381,  388,  384,   40,  387,   40,  382,
-      386,   40,   40,   40,  383,  390,  391,  385,  393,  392,
-       40,   40,   40,   40,   40,   40,   40,   40,  389,  396,
-      395,  399,   40,   40,  402,   40,   40,   40,   40,  404,
-       40,  394,  403,  397,  398,   40,  407,   40,   40,  400,
-      401,  405,   40,  406,   40,  408,   40,   40,   40,   40,
-
-       40,  409,   40,  413,   40,  411,  415,  416,  417,   40,
-      410,  412,   40,  414,   40,  420,  421,   40,  418,   40,
-       40,  419,   40,   40,   40,   40,   40,  422,   40,  423,
-      424,  426,  428,  430,   40,   40,  425,   40,  433,  432,
-      434,   40,  431,  429,   40,  427,   40,   40,   40,   40,
-       40,   40,   40,   40,   40,  440,   40,  437,  436,  442,
-      435,   40,   40,  451,  439,  446,  447,   40,   40,  438,
-      444,  445,   40,  443,  449,   40,   40,  441,  450,  448,
-      453,  452,   40,  455,   40,   40,   40,   40,   40,   40,
-       40,  454,   40,   40,   40,  459,   40,  460,   40,   40,
-
-      461,  457,  458,  456,  462,  465,  464,   40,   40,   40,
-      466,   40,  463,   40,  468,   40,   40,  467,   40,   40,
-      469,   40,  473,   40,  472,  474,  476,   40,  470,   40,
-      479,   40,  475,  477,  471,   40,  484,   40,   40,   40,
-      478,   40,   40,   40,  483,  480,  485,   40,  487,   40,
-      481,   40,   40,  489,  482,   40,   40,   40,   40,   40,
-      493,  486,  488,   40,   40,  500,  497,  490,  499,  495,
-      491,  494,  492,   40,   40,   40,  498,  504,  496,  501,
-      503,  502,   40,   40,   40,   40,   40,   40,  506,   40,
-       40,  509,   40,  507,   40,   40,   40,  512,   40,   40,
-
-      515,   40,   40,  510,  517,  505,   40,   40,  508,  514,
-       40,  516,  518,   40,   40,  513,  522,  519,  511,  523,
-       40,  520,   40,  525,   40,   40,   40,   40,   40,  521,
-       40,   40,   40,   40,  529,  526,  524,  527,   40,  528,
-      531,   40,   40,   40,   40,  532,  534,   40,  533,  530,
-      535,  536,   40,  538,  542,   40,  540,   40,  537,  543,
-      539,   40,   40,   40,   40,  541,   40,   40,   40,  547,
-       40,   40,  548,   40,   40,   40,   40,   40,  546,   40,
-      545,   40,   40,   40,  544,  549,   37,   37,   37,   37,
-       39,   39,   50,   40,   50,   50,   40,   40,   40,   40,
-
-       40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
-       40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
-       40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
-       40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
-       40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
-       40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
-       40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
-       40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
-       40,   40,   40,   40,   40,  241,   40,   40,   40,   40,
-       40,  130,   40,   38,  550,    3,  550,  550,  550,  550,
-
-      550,  550,  550,  550,  550,  550,  550,  550,  550,  550,
-      550,  550,  550,  550,  550,  550,  550,  550,  550,  550,
-      550,  550,  550,  550,  550,  550,  550,  550,  550,  550,
-      550,  550,  550,  550,  550,  550,  550,  550,  550
+       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,
+
+       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,   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,   41,   41,   41,
+       41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
+       41,   41,   41,   41,   41,   41,  244,   41,   41,   41,
+
+       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
     } ;
 
-static yyconst short int yy_chk[1240] =
+static yyconst flex_int16_t yy_chk[1251] =
     {   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,   58,    9,    9,    9,    9,   10,
-       10,   10,   10,   11,   11,   11,   11,   11,   12,  102,
-       20,   63,   58,   12,   13,   13,   13,   13,   13,   13,
-       14,   14,   14,   14,   14,   14,   16,   20,   46,   17,
-       20,   51,   63,   46,   16,   25,  102,   20,   17,   51,
-       25,   16,   17,   16,   18,   16,   13,   17,   16,   18,
-
-       17,   18,   19,   25,   22,   24,   26,   19,  555,   25,
-       24,   19,   18,   22,   56,   26,   18,   19,   24,   22,
-       19,   21,   29,   24,   34,   56,   21,   24,   21,   21,
-       26,   29,   36,   34,   33,   52,   21,   28,   54,   33,
-       21,   36,   21,   23,   23,   23,   23,   23,   52,   28,
-       52,   31,   33,   53,   23,   28,   31,   54,   35,   35,
-       28,   53,   68,   23,   23,   27,   60,   57,   61,   31,
-       68,  553,   31,   55,   27,   61,   27,   35,   57,   31,
-       27,   60,   27,   66,   27,   55,   27,   30,   73,   55,
-       57,   30,   42,   42,   42,   42,   62,   64,   66,   30,
-
-       30,   73,   30,   30,   30,   67,   30,   43,   43,   43,
-       43,   62,   30,   62,   30,   30,   72,   30,   32,   70,
-       64,  549,   32,   44,   44,   44,   44,   44,   83,   67,
-       32,   32,   72,   32,   83,   32,   77,   32,   74,   32,
-       71,   81,   70,   32,   45,   45,   45,   45,   45,   45,
-       47,   47,   47,   47,   47,   71,   74,   47,  547,   77,
-       81,  546,   71,   47,   48,   48,   48,   48,   48,   48,
-       49,   49,   49,   49,   49,   78,   49,   49,   65,   49,
-       49,   49,   49,   49,   49,   65,   75,   76,   65,   79,
-       80,   82,   86,   78,   84,   75,   76,   65,   79,   79,
-
-       85,   92,   88,   87,   86,   85,   80,   89,   91,   75,
-       88,   84,  100,   82,   82,   93,   82,   84,   87,   94,
-       95,   92,   89,   91,   93,   96,   97,   98,   94,   95,
-       96,   99,  101,  100,   97,  103,  104,  105,   93,  107,
-       98,  106,   94,  104,   99,  108,  105,  107,  103,  109,
-      116,  104,  110,  111,  108,  101,  106,  164,  109,  111,
-      105,  112,  107,  104,  113,  106,  115,  117,  108,  116,
-      110,  118,  119,  120,  112,  121,  164,  113,  123,  115,
-      117,  119,  124,  126,  121,  113,  124,  123,  126,  125,
-      115,  118,  122,  128,  129,  119,  120,  127,  121,  127,
-
-      122,  122,  125,  145,  125,  132,  132,  132,  132,  139,
-      122,  143,  140,  122,  128,  129,  145,  142,  122,  152,
-      139,  129,  133,  133,  133,  133,  142,  147,  545,  133,
-      140,  148,  143,  149,  147,  133,  135,  135,  135,  135,
-      135,  152,  154,  135,  151,  155,  148,  154,  149,  135,
-      136,  136,  151,  136,  136,  136,  136,  136,  153,  156,
-      155,  157,  158,  159,  160,  161,  162,  153,  163,  159,
-      165,  158,  156,  166,  161,  158,  157,  160,  166,  167,
-      168,  169,  543,  170,  172,  173,  161,  171,  162,  176,
-      169,  163,  170,  171,  179,  165,  174,  169,  168,  175,
-
-      173,  168,  177,  172,  178,  174,  167,  176,  175,  181,
-      182,  177,  180,  183,  185,  192,  195,  179,  178,  196,
-      180,  206,  175,  199,  200,  182,  234,  201,  202,  185,
-      181,  206,  207,  195,  234,  192,  201,  183,  214,  212,
-      208,  207,  196,  198,  198,  198,  198,  200,  199,  198,
-      198,  202,  198,  198,  198,  198,  198,  198,  208,  211,
-      212,  214,  215,  216,  217,  220,  232,  218,  224,  219,
-      227,  230,  231,  239,  216,  211,  218,  215,  219,  227,
-      230,  236,  232,  217,  218,  231,  224,  233,  235,  240,
-      220,  239,  233,  235,  237,  236,  541,  248,  237,  540,
-
-      242,  242,  242,  242,  248,  243,  243,  242,  243,  243,
-      243,  243,  240,  242,  244,  244,  244,  244,  245,  245,
-      245,  245,  245,  246,  246,  246,  246,  246,  247,  249,
-      251,  252,  255,  256,  257,  258,  252,  259,  260,  255,
-      261,  262,  259,  263,  265,  247,  249,  251,  264,  265,
-      258,  266,  268,  261,  272,  260,  256,  257,  273,  263,
-      267,  268,  269,  264,  274,  267,  275,  278,  262,  269,
-      279,  281,  266,  282,  283,  279,  286,  272,  284,  285,
-      281,  273,  278,  287,  288,  291,  274,  292,  274,  294,
-      275,  286,  295,  285,  282,  283,  284,  299,  296,  288,
-
-      300,  287,  292,  291,  302,  307,  310,  300,  303,  304,
-      299,  306,  307,  294,  302,  295,  296,  303,  309,  304,
-      306,  310,  312,  315,  316,  317,  318,  309,  320,  312,
-      317,  322,  538,  315,  316,  324,  330,  325,  327,  327,
-      327,  327,  329,  318,  330,  324,  332,  329,  333,  320,
-      325,  334,  335,  336,  322,  333,  334,  324,  336,  335,
-      337,  338,  342,  339,  340,  341,  350,  345,  332,  339,
-      338,  342,  343,  344,  345,  347,  352,  353,  351,  350,
-      354,  337,  347,  340,  341,  355,  353,  356,  357,  343,
-      344,  351,  358,  352,  359,  354,  361,  362,  368,  364,
-
-      363,  355,  367,  359,  369,  357,  362,  363,  364,  365,
-      356,  358,  366,  361,  370,  367,  368,  372,  365,  374,
-      371,  366,  375,  376,  378,  383,  380,  369,  382,  370,
-      371,  374,  376,  380,  381,  384,  372,  385,  383,  382,
-      384,  386,  381,  378,  388,  375,  389,  391,  392,  393,
-      394,  396,  397,  398,  409,  392,  402,  388,  386,  394,
-      385,  401,  407,  409,  391,  401,  401,  406,  412,  389,
-      397,  398,  410,  396,  406,  411,  414,  393,  407,  402,
-      411,  410,  419,  414,  420,  421,  423,  424,  430,  433,
-      434,  412,  436,  437,  439,  423,  441,  424,  435,  444,
-
-      430,  420,  421,  419,  433,  436,  435,  445,  446,  447,
-      437,  452,  434,  448,  441,  451,  450,  439,  453,  454,
-      444,  455,  448,  456,  447,  450,  452,  457,  445,  459,
-      455,  461,  451,  453,  446,  460,  461,  462,  463,  465,
-      454,  464,  466,  468,  460,  456,  462,  469,  464,  470,
-      457,  471,  474,  466,  459,  475,  473,  476,  483,  482,
-      471,  463,  465,  480,  488,  483,  476,  468,  482,  474,
-      469,  473,  470,  484,  486,  487,  480,  488,  475,  484,
-      487,  486,  490,  493,  494,  495,  496,  497,  493,  498,
-      499,  496,  500,  494,  501,  502,  503,  499,  506,  504,
-
-      502,  507,  508,  497,  504,  490,  509,  510,  495,  501,
-      511,  503,  506,  512,  514,  500,  510,  507,  498,  511,
-      515,  508,  516,  514,  517,  519,  520,  521,  522,  509,
-      524,  526,  530,  532,  519,  515,  512,  516,  528,  517,
-      521,  529,  531,  527,  533,  522,  526,  534,  524,  520,
-      527,  528,  535,  530,  534,  536,  532,  537,  529,  535,
-      531,  539,  542,  544,  548,  533,  525,  523,  518,  542,
-      513,  505,  544,  492,  491,  489,  485,  481,  539,  479,
-      537,  478,  477,  472,  536,  548,  551,  551,  551,  551,
-      552,  552,  554,  467,  554,  554,  458,  449,  443,  442,
-
-      440,  438,  432,  431,  429,  428,  427,  426,  425,  422,
-      418,  417,  416,  415,  413,  408,  405,  404,  403,  400,
-      399,  395,  390,  387,  379,  377,  373,  360,  349,  348,
-      346,  331,  328,  326,  323,  321,  319,  314,  313,  311,
-      308,  305,  301,  298,  293,  290,  289,  280,  277,  276,
-      271,  270,  254,  253,  250,  238,  229,  228,  226,  225,
-      223,  222,  221,  213,  210,  209,  205,  204,  203,  197,
-      194,  193,  191,  190,  189,  188,  187,  186,  184,  150,
-      146,  144,  141,  138,  134,  130,  114,   90,   69,   59,
-       39,   37,    8,    7,    3,  550,  550,  550,  550,  550,
-
-      550,  550,  550,  550,  550,  550,  550,  550,  550,  550,
-      550,  550,  550,  550,  550,  550,  550,  550,  550,  550,
-      550,  550,  550,  550,  550,  550,  550,  550,  550,  550,
-      550,  550,  550,  550,  550,  550,  550,  550,  550
+        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,
+       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,
+
+       17,   18,   19,   23,   22,   25,   27,   19,   65,   71,
+       25,   19,   18,   22,   68,   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,
+       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,
+
+       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
     } ;
 
-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; \
-}
+/* 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
 #define yymore() yymore_used_but_not_detected
 #define YY_MORE_ADJ 0
 #define YY_RESTORE_YY_MORE_OFFSET
-char *yytext;
-#line 1 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-#define INITIAL 0
+char *llvmAsmtext;
+#line 1 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 /*===-- Lexer.l - Scanner for llvm assembly files --------------*- C++ -*--===//
 //
 //                     The LLVM Compiler Infrastructure
@@ -891,8 +947,7 @@
 //  This file implements the flex scanner for LLVM assembly languages files.
 //
 //===----------------------------------------------------------------------===*/
-#define YY_NEVER_INTERACTIVE 1
-#line 28 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 28 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 #include "ParserInternals.h"
 #include "llvm/Module.h"
 #include <list>
@@ -901,10 +956,10 @@
 #include <cstdlib>
 
 void set_scan_file(FILE * F){
-  yy_switch_to_buffer(yy_create_buffer( F, YY_BUF_SIZE ) );
+  llvmAsm_switch_to_buffer(llvmAsm_create_buffer(F,YY_BUF_SIZE ) );
 }
 void set_scan_string (const char * str) {
-  yy_scan_string (str);
+  llvmAsm_scan_string (str);
 }
 
 // Construct a token value for a non-obsolete token
@@ -1025,7 +1080,23 @@
 /* HexIntConstant - Hexadecimal constant generated by the CFE to avoid forcing
  * it to deal with 64 bit numbers.
  */
-#line 1029 "Lexer.cpp"
+#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 );
 
 /* Macros after this point can all be overridden by user definitions in
  * section 1.
@@ -1033,65 +1104,30 @@
 
 #ifndef YY_SKIP_YYWRAP
 #ifdef __cplusplus
-extern "C" int yywrap YY_PROTO(( void ));
+extern "C" int llvmAsmwrap (void );
 #else
-extern int yywrap YY_PROTO(( void ));
-#endif
+extern int llvmAsmwrap (void );
 #endif
-
-#ifndef YY_NO_UNPUT
-static inline void yyunput YY_PROTO(( int c, char *buf_ptr ));
 #endif
 
+    static inline void yyunput (int c,char *buf_ptr  );
+    
 #ifndef yytext_ptr
-static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));
+static void yy_flex_strncpy (char *,yyconst char *,int );
 #endif
 
 #ifdef YY_NEED_STRLEN
-static int yy_flex_strlen YY_PROTO(( yyconst char * ));
+static int yy_flex_strlen (yyconst char * );
 #endif
 
 #ifndef YY_NO_INPUT
-#ifdef __cplusplus
-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
 
+#ifdef __cplusplus
+static int yyinput (void );
 #else
-#define YY_NO_PUSH_STATE 1
-#define YY_NO_POP_STATE 1
-#define YY_NO_TOP_STATE 1
+static int input (void );
 #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. */
@@ -1100,12 +1136,11 @@
 #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( yytext, yyleng, 1, yyout )
+#define ECHO (void) fwrite( llvmAsmtext, llvmAsmleng, 1, llvmAsmout )
 #endif
 
 /* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
@@ -1113,21 +1148,35 @@
  */
 #ifndef YY_INPUT
 #define YY_INPUT(buf,result,max_size) \
-	if ( yy_current_buffer->yy_is_interactive ) \
+	if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
 		{ \
-		int c = '*', n; \
+		int c = '*'; \
+		size_t n; \
 		for ( n = 0; n < max_size && \
-			     (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
+			     (c = getc( llvmAsmin )) != EOF && c != '\n'; ++n ) \
 			buf[n] = (char) c; \
 		if ( c == '\n' ) \
 			buf[n++] = (char) c; \
-		if ( c == EOF && ferror( yyin ) ) \
+		if ( c == EOF && ferror( llvmAsmin ) ) \
 			YY_FATAL_ERROR( "input in flex scanner failed" ); \
 		result = n; \
 		} \
-	else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \
-		  && ferror( yyin ) ) \
-		YY_FATAL_ERROR( "input in flex scanner failed" );
+	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); \
+			} \
+		}\
+\
+
 #endif
 
 /* No semi-colon after return; correct usage is to write "yyterminate();" -
@@ -1148,14 +1197,20 @@
 #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 int yylex YY_PROTO(( void ))
-#endif
+#define YY_DECL_IS_OURS 1
+
+extern int llvmAsmlex (void);
+
+#define YY_DECL int llvmAsmlex (void)
+#endif /* !YY_DECL */
 
-/* Code executed at the beginning of each rule, after yytext and yyleng
+/* Code executed at the beginning of each rule, after llvmAsmtext and llvmAsmleng
  * have been set up.
  */
 #ifndef YY_USER_ACTION
@@ -1170,370 +1225,375 @@
 #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 = NULL, *yy_bp = NULL;
+	register char *yy_cp, *yy_bp;
 	register int yy_act;
-
-#line 188 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+    
+#line 188 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 
 
-#line 1183 "Lexer.cpp"
+#line 1240 "Lexer.cpp"
 
-	if ( yy_init )
+	if ( !(yy_init) )
 		{
-		yy_init = 0;
+		(yy_init) = 1;
 
 #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 ( ! yyin )
-			yyin = stdin;
+		if ( ! llvmAsmin )
+			llvmAsmin = stdin;
 
-		if ( ! yyout )
-			yyout = stdout;
+		if ( ! llvmAsmout )
+			llvmAsmout = stdout;
 
-		if ( ! yy_current_buffer )
-			yy_current_buffer =
-				yy_create_buffer( yyin, YY_BUF_SIZE );
+		if ( ! YY_CURRENT_BUFFER ) {
+			llvmAsmensure_buffer_stack ();
+			YY_CURRENT_BUFFER_LVALUE =
+				llvmAsm_create_buffer(llvmAsmin,YY_BUF_SIZE );
+		}
 
-		yy_load_buffer_state();
+		llvmAsm_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 yytext. */
-		*yy_cp = yy_hold_char;
+		/* Support of llvmAsmtext. */
+		*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_state_ptr = yy_state_buf;
-		*yy_state_ptr++ = yy_current_state;
+		yy_current_state = (yy_start);
 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 >= 551 )
+				if ( yy_current_state >= 557 )
 					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 != 550 );
+		while ( yy_current_state != 556 );
+		yy_cp = (yy_last_accepting_cpos);
+		yy_current_state = (yy_last_accepting_state);
 
 yy_find_action:
-		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_act = yy_accept[yy_current_state];
 
 		YY_DO_BEFORE_ACTION;
 
-		if ( yy_act != YY_END_OF_BUFFER )
+		if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
 			{
 			int yyl;
-			for ( yyl = 0; yyl < yyleng; ++yyl )
-				if ( yytext[yyl] == '\n' )
-					++yylineno;
+			for ( yyl = 0; yyl < llvmAsmleng; ++yyl )
+				if ( llvmAsmtext[yyl] == '\n' )
+					   
+    llvmAsmlineno++;
+;
 			}
 
 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 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 190 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 { /* Ignore comments for now */ }
 	YY_BREAK
 case 2:
 YY_RULE_SETUP
-#line 192 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 192 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 { return BEGINTOK; }
 	YY_BREAK
 case 3:
 YY_RULE_SETUP
-#line 193 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 193 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 { return ENDTOK; }
 	YY_BREAK
 case 4:
 YY_RULE_SETUP
-#line 194 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 194 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 { return TRUETOK;  }
 	YY_BREAK
 case 5:
 YY_RULE_SETUP
-#line 195 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 195 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 { return FALSETOK; }
 	YY_BREAK
 case 6:
 YY_RULE_SETUP
-#line 196 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 196 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 { return DECLARE; }
 	YY_BREAK
 case 7:
 YY_RULE_SETUP
-#line 197 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 197 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 { return DEFINE; }
 	YY_BREAK
 case 8:
 YY_RULE_SETUP
-#line 198 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 198 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 { return GLOBAL; }
 	YY_BREAK
 case 9:
 YY_RULE_SETUP
-#line 199 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 199 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 { return CONSTANT; }
 	YY_BREAK
 case 10:
 YY_RULE_SETUP
-#line 200 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 200 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 { return INTERNAL; }
 	YY_BREAK
 case 11:
 YY_RULE_SETUP
-#line 201 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 201 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 { return LINKONCE; }
 	YY_BREAK
 case 12:
 YY_RULE_SETUP
-#line 202 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 202 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 { return WEAK; }
 	YY_BREAK
 case 13:
 YY_RULE_SETUP
-#line 203 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 203 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 { return APPENDING; }
 	YY_BREAK
 case 14:
 YY_RULE_SETUP
-#line 204 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 204 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 { return DLLIMPORT; }
 	YY_BREAK
 case 15:
 YY_RULE_SETUP
-#line 205 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 205 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 { return DLLEXPORT; }
 	YY_BREAK
 case 16:
 YY_RULE_SETUP
-#line 206 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ return EXTERN_WEAK; }
+#line 206 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+{ return HIDDEN; }
 	YY_BREAK
 case 17:
 YY_RULE_SETUP
-#line 207 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ return EXTERNAL; }
+#line 207 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+{ return EXTERN_WEAK; }
 	YY_BREAK
 case 18:
 YY_RULE_SETUP
-#line 208 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ return IMPLEMENTATION; }
+#line 208 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+{ return EXTERNAL; }
 	YY_BREAK
 case 19:
 YY_RULE_SETUP
-#line 209 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ return ZEROINITIALIZER; }
+#line 209 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+{ return IMPLEMENTATION; }
 	YY_BREAK
 case 20:
 YY_RULE_SETUP
-#line 210 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ return DOTDOTDOT; }
+#line 210 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+{ return ZEROINITIALIZER; }
 	YY_BREAK
 case 21:
 YY_RULE_SETUP
-#line 211 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ return UNDEF; }
+#line 211 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+{ return DOTDOTDOT; }
 	YY_BREAK
 case 22:
 YY_RULE_SETUP
-#line 212 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ return NULL_TOK; }
+#line 212 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+{ return UNDEF; }
 	YY_BREAK
 case 23:
 YY_RULE_SETUP
-#line 213 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ return TO; }
+#line 213 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+{ return NULL_TOK; }
 	YY_BREAK
 case 24:
 YY_RULE_SETUP
-#line 214 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ return TAIL; }
+#line 214 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+{ return TO; }
 	YY_BREAK
 case 25:
 YY_RULE_SETUP
-#line 215 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ return TARGET; }
+#line 215 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+{ return TAIL; }
 	YY_BREAK
 case 26:
 YY_RULE_SETUP
-#line 216 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ return TRIPLE; }
+#line 216 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+{ return TARGET; }
 	YY_BREAK
 case 27:
 YY_RULE_SETUP
-#line 217 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ return DEPLIBS; }
+#line 217 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+{ return TRIPLE; }
 	YY_BREAK
 case 28:
 YY_RULE_SETUP
-#line 218 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ return ENDIAN; }
+#line 218 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+{ return DEPLIBS; }
 	YY_BREAK
 case 29:
 YY_RULE_SETUP
-#line 219 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ return POINTERSIZE; }
+#line 219 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+{ return ENDIAN; }
 	YY_BREAK
 case 30:
 YY_RULE_SETUP
-#line 220 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ return DATALAYOUT; }
+#line 220 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+{ return POINTERSIZE; }
 	YY_BREAK
 case 31:
 YY_RULE_SETUP
-#line 221 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ return LITTLE; }
+#line 221 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+{ return DATALAYOUT; }
 	YY_BREAK
 case 32:
 YY_RULE_SETUP
-#line 222 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ return BIG; }
+#line 222 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+{ return LITTLE; }
 	YY_BREAK
 case 33:
 YY_RULE_SETUP
-#line 223 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ return VOLATILE; }
+#line 223 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+{ return BIG; }
 	YY_BREAK
 case 34:
 YY_RULE_SETUP
-#line 224 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ return ALIGN;  }
+#line 224 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+{ return VOLATILE; }
 	YY_BREAK
 case 35:
 YY_RULE_SETUP
-#line 225 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ return SECTION; }
+#line 225 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+{ return ALIGN;  }
 	YY_BREAK
 case 36:
 YY_RULE_SETUP
-#line 226 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ return MODULE; }
+#line 226 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+{ return SECTION; }
 	YY_BREAK
 case 37:
 YY_RULE_SETUP
-#line 227 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ return ASM_TOK; }
+#line 227 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+{ return MODULE; }
 	YY_BREAK
 case 38:
 YY_RULE_SETUP
-#line 228 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ return SIDEEFFECT; }
+#line 228 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+{ return ASM_TOK; }
 	YY_BREAK
 case 39:
 YY_RULE_SETUP
-#line 230 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ return CC_TOK; }
+#line 229 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+{ return SIDEEFFECT; }
 	YY_BREAK
 case 40:
 YY_RULE_SETUP
-#line 231 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ return CCC_TOK; }
+#line 231 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+{ return CC_TOK; }
 	YY_BREAK
 case 41:
 YY_RULE_SETUP
-#line 232 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ return CSRETCC_TOK; }
+#line 232 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+{ return CCC_TOK; }
 	YY_BREAK
 case 42:
 YY_RULE_SETUP
-#line 233 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ return FASTCC_TOK; }
+#line 233 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+{ return CSRETCC_TOK; }
 	YY_BREAK
 case 43:
 YY_RULE_SETUP
-#line 234 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ return COLDCC_TOK; }
+#line 234 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+{ return FASTCC_TOK; }
 	YY_BREAK
 case 44:
 YY_RULE_SETUP
-#line 235 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ return X86_STDCALLCC_TOK; }
+#line 235 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+{ return COLDCC_TOK; }
 	YY_BREAK
 case 45:
 YY_RULE_SETUP
-#line 236 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ return X86_FASTCALLCC_TOK; }
+#line 236 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+{ return X86_STDCALLCC_TOK; }
 	YY_BREAK
 case 46:
 YY_RULE_SETUP
-#line 238 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ RET_TY(Type::VoidTy,  VOID);  }
+#line 237 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+{ return X86_FASTCALLCC_TOK; }
 	YY_BREAK
 case 47:
 YY_RULE_SETUP
-#line 239 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ RET_TY(Type::Int1Ty,  BOOL);  }
+#line 239 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+{ RET_TY(Type::VoidTy,  VOID);  }
 	YY_BREAK
 case 48:
 YY_RULE_SETUP
-#line 240 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ RET_TY(Type::FloatTy, FLOAT); }
+#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 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ RET_TY(Type::DoubleTy,DOUBLE);}
+#line 241 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+{ RET_TY(Type::FloatTy, FLOAT); }
 	YY_BREAK
 case 50:
 YY_RULE_SETUP
-#line 242 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ RET_TY(Type::LabelTy, LABEL); }
+#line 242 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+{ RET_TY(Type::DoubleTy,DOUBLE);}
 	YY_BREAK
 case 51:
 YY_RULE_SETUP
-#line 243 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ return TYPE;   }
+#line 243 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+{ RET_TY(Type::LabelTy, LABEL); }
 	YY_BREAK
 case 52:
 YY_RULE_SETUP
-#line 244 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ return OPAQUE; }
+#line 244 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+{ return TYPE;   }
 	YY_BREAK
 case 53:
 YY_RULE_SETUP
-#line 245 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ uint64_t NumBits = atoull(yytext+1);
+#line 245 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+{ return OPAQUE; }
+	YY_BREAK
+case 54:
+YY_RULE_SETUP
+#line 246 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+{ uint64_t NumBits = atoull(llvmAsmtext+1);
                   if (NumBits < IntegerType::MIN_INT_BITS || 
                       NumBits > IntegerType::MAX_INT_BITS)
                     GenerateError("Bitwidth for integer type out of range!");
@@ -1541,398 +1601,400 @@
                   RET_TY(Ty, INTTYPE);
                 }
 	YY_BREAK
-case 54:
+case 55:
 YY_RULE_SETUP
-#line 253 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 254 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 { RET_TOK(BinaryOpVal, Add, ADD); }
 	YY_BREAK
-case 55:
+case 56:
 YY_RULE_SETUP
-#line 254 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 255 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 { RET_TOK(BinaryOpVal, Sub, SUB); }
 	YY_BREAK
-case 56:
+case 57:
 YY_RULE_SETUP
-#line 255 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 256 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 { RET_TOK(BinaryOpVal, Mul, MUL); }
 	YY_BREAK
-case 57:
+case 58:
 YY_RULE_SETUP
-#line 256 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 257 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 { RET_TOK(BinaryOpVal, UDiv, UDIV); }
 	YY_BREAK
-case 58:
+case 59:
 YY_RULE_SETUP
-#line 257 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 258 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 { RET_TOK(BinaryOpVal, SDiv, SDIV); }
 	YY_BREAK
-case 59:
+case 60:
 YY_RULE_SETUP
-#line 258 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 259 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 { RET_TOK(BinaryOpVal, FDiv, FDIV); }
 	YY_BREAK
-case 60:
+case 61:
 YY_RULE_SETUP
-#line 259 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 260 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 { RET_TOK(BinaryOpVal, URem, UREM); }
 	YY_BREAK
-case 61:
+case 62:
 YY_RULE_SETUP
-#line 260 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 261 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 { RET_TOK(BinaryOpVal, SRem, SREM); }
 	YY_BREAK
-case 62:
+case 63:
 YY_RULE_SETUP
-#line 261 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 262 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 { RET_TOK(BinaryOpVal, FRem, FREM); }
 	YY_BREAK
-case 63:
+case 64:
 YY_RULE_SETUP
-#line 262 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 263 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 { RET_TOK(BinaryOpVal, And, AND); }
 	YY_BREAK
-case 64:
+case 65:
 YY_RULE_SETUP
-#line 263 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 264 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 { RET_TOK(BinaryOpVal, Or , OR ); }
 	YY_BREAK
-case 65:
+case 66:
 YY_RULE_SETUP
-#line 264 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 265 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 { RET_TOK(BinaryOpVal, Xor, XOR); }
 	YY_BREAK
-case 66:
+case 67:
 YY_RULE_SETUP
-#line 265 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 266 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 { RET_TOK(OtherOpVal,  ICmp,  ICMP); }
 	YY_BREAK
-case 67:
+case 68:
 YY_RULE_SETUP
-#line 266 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 267 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 { RET_TOK(OtherOpVal,  FCmp,  FCMP); }
 	YY_BREAK
-case 68:
+case 69:
 YY_RULE_SETUP
-#line 267 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 268 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 { return EQ;  }
 	YY_BREAK
-case 69:
+case 70:
 YY_RULE_SETUP
-#line 268 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 269 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 { return NE;  }
 	YY_BREAK
-case 70:
+case 71:
 YY_RULE_SETUP
-#line 269 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 270 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 { return SLT; }
 	YY_BREAK
-case 71:
+case 72:
 YY_RULE_SETUP
-#line 270 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 271 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 { return SGT; }
 	YY_BREAK
-case 72:
+case 73:
 YY_RULE_SETUP
-#line 271 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 272 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 { return SLE; }
 	YY_BREAK
-case 73:
+case 74:
 YY_RULE_SETUP
-#line 272 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 273 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 { return SGE; }
 	YY_BREAK
-case 74:
+case 75:
 YY_RULE_SETUP
-#line 273 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 274 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 { return ULT; }
 	YY_BREAK
-case 75:
+case 76:
 YY_RULE_SETUP
-#line 274 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 275 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 { return UGT; }
 	YY_BREAK
-case 76:
+case 77:
 YY_RULE_SETUP
-#line 275 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 276 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 { return ULE; }
 	YY_BREAK
-case 77:
+case 78:
 YY_RULE_SETUP
-#line 276 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 277 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 { return UGE; }
 	YY_BREAK
-case 78:
+case 79:
 YY_RULE_SETUP
-#line 277 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 278 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 { return OEQ; }
 	YY_BREAK
-case 79:
+case 80:
 YY_RULE_SETUP
-#line 278 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 279 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 { return ONE; }
 	YY_BREAK
-case 80:
+case 81:
 YY_RULE_SETUP
-#line 279 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 280 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 { return OLT; }
 	YY_BREAK
-case 81:
+case 82:
 YY_RULE_SETUP
-#line 280 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 281 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 { return OGT; }
 	YY_BREAK
-case 82:
+case 83:
 YY_RULE_SETUP
-#line 281 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 282 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 { return OLE; }
 	YY_BREAK
-case 83:
+case 84:
 YY_RULE_SETUP
-#line 282 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 283 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 { return OGE; }
 	YY_BREAK
-case 84:
+case 85:
 YY_RULE_SETUP
-#line 283 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 284 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 { return ORD; }
 	YY_BREAK
-case 85:
+case 86:
 YY_RULE_SETUP
-#line 284 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 285 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 { return UNO; }
 	YY_BREAK
-case 86:
+case 87:
 YY_RULE_SETUP
-#line 285 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 286 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 { return UEQ; }
 	YY_BREAK
-case 87:
+case 88:
 YY_RULE_SETUP
-#line 286 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 287 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 { return UNE; }
 	YY_BREAK
-case 88:
+case 89:
 YY_RULE_SETUP
-#line 288 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 289 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 { RET_TOK(OtherOpVal, PHI, PHI_TOK); }
 	YY_BREAK
-case 89:
+case 90:
 YY_RULE_SETUP
-#line 289 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 290 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 { RET_TOK(OtherOpVal, Call, CALL); }
 	YY_BREAK
-case 90:
+case 91:
 YY_RULE_SETUP
-#line 290 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 291 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 { RET_TOK(CastOpVal, Trunc, TRUNC); }
 	YY_BREAK
-case 91:
+case 92:
 YY_RULE_SETUP
-#line 291 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 292 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 { RET_TOK(CastOpVal, ZExt, ZEXT); }
 	YY_BREAK
-case 92:
+case 93:
 YY_RULE_SETUP
-#line 292 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 293 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 { RET_TOK(CastOpVal, SExt, SEXT); }
 	YY_BREAK
-case 93:
+case 94:
 YY_RULE_SETUP
-#line 293 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 294 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 { RET_TOK(CastOpVal, FPTrunc, FPTRUNC); }
 	YY_BREAK
-case 94:
+case 95:
 YY_RULE_SETUP
-#line 294 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 295 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 { RET_TOK(CastOpVal, FPExt, FPEXT); }
 	YY_BREAK
-case 95:
+case 96:
 YY_RULE_SETUP
-#line 295 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 296 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 { RET_TOK(CastOpVal, UIToFP, UITOFP); }
 	YY_BREAK
-case 96:
+case 97:
 YY_RULE_SETUP
-#line 296 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 297 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 { RET_TOK(CastOpVal, SIToFP, SITOFP); }
 	YY_BREAK
-case 97:
+case 98:
 YY_RULE_SETUP
-#line 297 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 298 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 { RET_TOK(CastOpVal, FPToUI, FPTOUI); }
 	YY_BREAK
-case 98:
+case 99:
 YY_RULE_SETUP
-#line 298 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 299 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 { RET_TOK(CastOpVal, FPToSI, FPTOSI); }
 	YY_BREAK
-case 99:
+case 100:
 YY_RULE_SETUP
-#line 299 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 300 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 { RET_TOK(CastOpVal, IntToPtr, INTTOPTR); }
 	YY_BREAK
-case 100:
+case 101:
 YY_RULE_SETUP
-#line 300 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 301 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 { RET_TOK(CastOpVal, PtrToInt, PTRTOINT); }
 	YY_BREAK
-case 101:
+case 102:
 YY_RULE_SETUP
-#line 301 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 302 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 { RET_TOK(CastOpVal, BitCast, BITCAST); }
 	YY_BREAK
-case 102:
+case 103:
 YY_RULE_SETUP
-#line 302 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 303 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 { RET_TOK(OtherOpVal, Select, SELECT); }
 	YY_BREAK
-case 103:
+case 104:
 YY_RULE_SETUP
-#line 303 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 304 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 { RET_TOK(OtherOpVal, Shl, SHL); }
 	YY_BREAK
-case 104:
+case 105:
 YY_RULE_SETUP
-#line 304 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 305 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 { RET_TOK(OtherOpVal, LShr, LSHR); }
 	YY_BREAK
-case 105:
+case 106:
 YY_RULE_SETUP
-#line 305 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 306 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 { RET_TOK(OtherOpVal, AShr, ASHR); }
 	YY_BREAK
-case 106:
+case 107:
 YY_RULE_SETUP
-#line 306 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 307 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 { RET_TOK(OtherOpVal, VAArg , VAARG); }
 	YY_BREAK
-case 107:
+case 108:
 YY_RULE_SETUP
-#line 307 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 308 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 { RET_TOK(TermOpVal, Ret, RET); }
 	YY_BREAK
-case 108:
+case 109:
 YY_RULE_SETUP
-#line 308 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 309 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 { RET_TOK(TermOpVal, Br, BR); }
 	YY_BREAK
-case 109:
+case 110:
 YY_RULE_SETUP
-#line 309 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 310 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 { RET_TOK(TermOpVal, Switch, SWITCH); }
 	YY_BREAK
-case 110:
+case 111:
 YY_RULE_SETUP
-#line 310 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 311 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 { RET_TOK(TermOpVal, Invoke, INVOKE); }
 	YY_BREAK
-case 111:
+case 112:
 YY_RULE_SETUP
-#line 311 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 312 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 { RET_TOK(TermOpVal, Unwind, UNWIND); }
 	YY_BREAK
-case 112:
+case 113:
 YY_RULE_SETUP
-#line 312 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 313 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 { RET_TOK(TermOpVal, Unreachable, UNREACHABLE); }
 	YY_BREAK
-case 113:
+case 114:
 YY_RULE_SETUP
-#line 314 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 315 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 { RET_TOK(MemOpVal, Malloc, MALLOC); }
 	YY_BREAK
-case 114:
+case 115:
 YY_RULE_SETUP
-#line 315 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 316 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 { RET_TOK(MemOpVal, Alloca, ALLOCA); }
 	YY_BREAK
-case 115:
+case 116:
 YY_RULE_SETUP
-#line 316 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 317 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 { RET_TOK(MemOpVal, Free, FREE); }
 	YY_BREAK
-case 116:
+case 117:
 YY_RULE_SETUP
-#line 317 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 318 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 { RET_TOK(MemOpVal, Load, LOAD); }
 	YY_BREAK
-case 117:
+case 118:
 YY_RULE_SETUP
-#line 318 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 319 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 { RET_TOK(MemOpVal, Store, STORE); }
 	YY_BREAK
-case 118:
+case 119:
 YY_RULE_SETUP
-#line 319 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 320 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 { RET_TOK(MemOpVal, GetElementPtr, GETELEMENTPTR); }
 	YY_BREAK
-case 119:
+case 120:
 YY_RULE_SETUP
-#line 321 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 322 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 { RET_TOK(OtherOpVal, ExtractElement, EXTRACTELEMENT); }
 	YY_BREAK
-case 120:
+case 121:
 YY_RULE_SETUP
-#line 322 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 323 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 { RET_TOK(OtherOpVal, InsertElement, INSERTELEMENT); }
 	YY_BREAK
-case 121:
+case 122:
 YY_RULE_SETUP
-#line 323 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 324 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 { RET_TOK(OtherOpVal, ShuffleVector, SHUFFLEVECTOR); }
 	YY_BREAK
-case 122:
+case 123:
 YY_RULE_SETUP
-#line 326 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 327 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 {
-                  UnEscapeLexed(yytext+1);
-                  llvmAsmlval.StrVal = strdup(yytext+1);             // Skip %
+                  UnEscapeLexed(llvmAsmtext+1);
+                  llvmAsmlval.StrVal = strdup(llvmAsmtext+1);             // Skip %
                   return VAR_ID;
                 }
 	YY_BREAK
-case 123:
+case 124:
 YY_RULE_SETUP
-#line 331 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 332 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 {
-                  yytext[strlen(yytext)-1] = 0;  // nuke colon
-                  UnEscapeLexed(yytext);
-                  llvmAsmlval.StrVal = strdup(yytext);
+                  llvmAsmtext[strlen(llvmAsmtext)-1] = 0;  // nuke colon
+                  UnEscapeLexed(llvmAsmtext);
+                  llvmAsmlval.StrVal = strdup(llvmAsmtext);
                   return LABELSTR;
                 }
 	YY_BREAK
-case 124:
+case 125:
+/* rule 125 can match eol */
 YY_RULE_SETUP
-#line 337 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 338 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 {
-                  yytext[strlen(yytext)-2] = 0;  // nuke colon, end quote
-                  UnEscapeLexed(yytext+1);
-                  llvmAsmlval.StrVal = strdup(yytext+1);
+                  llvmAsmtext[strlen(llvmAsmtext)-2] = 0;  // nuke colon, end quote
+                  UnEscapeLexed(llvmAsmtext+1);
+                  llvmAsmlval.StrVal = strdup(llvmAsmtext+1);
                   return LABELSTR;
                 }
 	YY_BREAK
-case 125:
+case 126:
+/* rule 126 can match eol */
 YY_RULE_SETUP
-#line 344 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 345 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 { // Note that we cannot unescape a string constant here!  The
                    // string constant might contain a \00 which would not be
                    // understood by the string stuff.  It is valid to make a
                    // [sbyte] c"Hello World\00" constant, for example.
                    //
-                   yytext[strlen(yytext)-1] = 0;           // nuke end quote
-                   llvmAsmlval.StrVal = strdup(yytext+1);  // Nuke start quote
+                   llvmAsmtext[strlen(llvmAsmtext)-1] = 0;           // nuke end quote
+                   llvmAsmlval.StrVal = strdup(llvmAsmtext+1);  // Nuke start quote
                    return STRINGCONSTANT;
                  }
 	YY_BREAK
-case 126:
+case 127:
 YY_RULE_SETUP
-#line 355 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ llvmAsmlval.UInt64Val = atoull(yytext); return EUINT64VAL; }
+#line 356 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+{ llvmAsmlval.UInt64Val = atoull(llvmAsmtext); return EUINT64VAL; }
 	YY_BREAK
-case 127:
+case 128:
 YY_RULE_SETUP
-#line 356 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 357 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 {
-                  uint64_t Val = atoull(yytext+1);
+                  uint64_t Val = atoull(llvmAsmtext+1);
                   // +1:  we have bigger negative range
                   if (Val > (uint64_t)INT64_MAX+1)
                     GenerateError("Constant too large for signed 64 bits!");
@@ -1940,30 +2002,30 @@
                   return ESINT64VAL;
                 }
 	YY_BREAK
-case 128:
+case 129:
 YY_RULE_SETUP
-#line 364 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 365 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 {
-                   llvmAsmlval.UInt64Val = HexIntToVal(yytext+3);
-                   return yytext[0] == 's' ? ESINT64VAL : EUINT64VAL;
+                   llvmAsmlval.UInt64Val = HexIntToVal(llvmAsmtext+3);
+                   return llvmAsmtext[0] == 's' ? ESINT64VAL : EUINT64VAL;
                  }
 	YY_BREAK
-case 129:
+case 130:
 YY_RULE_SETUP
-#line 369 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 370 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 {
-                  uint64_t Val = atoull(yytext+1);
+                  uint64_t Val = atoull(llvmAsmtext+1);
                   if ((unsigned)Val != Val)
                     GenerateError("Invalid value number (too large)!");
                   llvmAsmlval.UIntVal = unsigned(Val);
                   return UINTVAL;
                 }
 	YY_BREAK
-case 130:
+case 131:
 YY_RULE_SETUP
-#line 376 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 377 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 {
-                  uint64_t Val = atoull(yytext+2);
+                  uint64_t Val = atoull(llvmAsmtext+2);
                   // +1:  we have bigger negative range
                   if (Val > (uint64_t)INT32_MAX+1)
                     GenerateError("Constant too large for signed 32 bits!");
@@ -1971,66 +2033,67 @@
                   return SINTVAL;
                 }
 	YY_BREAK
-case 131:
+case 132:
 YY_RULE_SETUP
-#line 385 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ llvmAsmlval.FPVal = atof(yytext); return FPVAL; }
+#line 386 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+{ llvmAsmlval.FPVal = atof(llvmAsmtext); return FPVAL; }
 	YY_BREAK
-case 132:
+case 133:
 YY_RULE_SETUP
-#line 386 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ llvmAsmlval.FPVal = HexToFP(yytext); return FPVAL; }
+#line 387 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+{ llvmAsmlval.FPVal = HexToFP(llvmAsmtext); return FPVAL; }
 	YY_BREAK
 case YY_STATE_EOF(INITIAL):
-#line 388 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 389 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 {
                   /* Make sure to free the internal buffers for flex when we are
                    * done reading our input!
                    */
-                  yy_delete_buffer(YY_CURRENT_BUFFER);
+                  llvmAsm_delete_buffer(YY_CURRENT_BUFFER);
                   return EOF;
                 }
 	YY_BREAK
-case 133:
+case 134:
+/* rule 134 can match eol */
 YY_RULE_SETUP
-#line 396 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 397 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 { /* Ignore whitespace */ }
 	YY_BREAK
-case 134:
+case 135:
 YY_RULE_SETUP
-#line 397 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ return yytext[0]; }
+#line 398 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+{ return llvmAsmtext[0]; }
 	YY_BREAK
-case 135:
+case 136:
 YY_RULE_SETUP
-#line 399 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 400 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 YY_FATAL_ERROR( "flex scanner jammed" );
 	YY_BREAK
-#line 2010 "Lexer.cpp"
+#line 2073 "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->yy_buffer_status == YY_BUFFER_NEW )
+		if ( YY_CURRENT_BUFFER_LVALUE->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 yyin at a new source and called
-			 * yylex().  If so, then we have to assure
-			 * consistency between yy_current_buffer and our
+			 * just pointed llvmAsmin at a new source and called
+			 * llvmAsmlex().  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->yy_n_chars;
-			yy_current_buffer->yy_input_file = yyin;
-			yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL;
+			(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;
 			}
 
 		/* Note that here we test for yy_c_buf_p "<=" to the position
@@ -2040,13 +2103,13 @@
 		 * end-of-buffer state).  Contrast this with the test
 		 * in input().
 		 */
-		if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
+		if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->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
@@ -2059,41 +2122,42 @@
 
 			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_c_buf_p;
+				yy_cp = (yy_last_accepting_cpos);
+				yy_current_state = (yy_last_accepting_state);
 				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 ( yywrap() )
+				if ( llvmAsmwrap( ) )
 					{
 					/* Note: because we've taken care in
 					 * yy_get_next_buffer() to have set up
-					 * yytext, we can now set up
+					 * llvmAsmtext, 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;
@@ -2101,30 +2165,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->yy_ch_buf[yy_n_chars];
+				(yy_c_buf_p) =
+				&YY_CURRENT_BUFFER_LVALUE->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;
@@ -2135,8 +2199,7 @@
 			"fatal flex scanner internal error--no action found" );
 	} /* end of action switch */
 		} /* end of scanning one token */
-	} /* end of yylex */
-
+} /* end of llvmAsmlex */
 
 /* yy_get_next_buffer - try to read in a new buffer
  *
@@ -2145,21 +2208,20 @@
  *	EOB_ACT_CONTINUE_SCAN - continue scanning from current position
  *	EOB_ACT_END_OF_FILE - end of file
  */
-
-static int yy_get_next_buffer()
-	{
-	register char *dest = yy_current_buffer->yy_ch_buf;
-	register char *source = yytext_ptr;
+static int yy_get_next_buffer (void)
+{
+    	register char *dest = YY_CURRENT_BUFFER_LVALUE->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->yy_ch_buf[yy_n_chars + 1] )
+	if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
 		YY_FATAL_ERROR(
 		"fatal flex scanner internal error--end of buffer missed" );
 
-	if ( yy_current_buffer->yy_fill_buffer == 0 )
+	if ( YY_CURRENT_BUFFER_LVALUE->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.
@@ -2179,34 +2241,30 @@
 	/* 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->yy_buffer_status == YY_BUFFER_EOF_PENDING )
+	if ( YY_CURRENT_BUFFER_LVALUE->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->yy_n_chars = yy_n_chars = 0;
+		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
 
 	else
 		{
-		int num_to_read =
-			yy_current_buffer->yy_buf_size - number_to_move - 1;
+			int num_to_read =
+			YY_CURRENT_BUFFER_LVALUE->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 )
 				{
@@ -2219,8 +2277,7 @@
 
 				b->yy_ch_buf = (char *)
 					/* Include room in for 2 EOB chars. */
-					yy_flex_realloc( (void *) b->yy_ch_buf,
-							 b->yy_buf_size + 2 );
+					llvmAsmrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2  );
 				}
 			else
 				/* Can't grow it, we don't own it. */
@@ -2230,35 +2287,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->yy_buf_size -
+			num_to_read = YY_CURRENT_BUFFER_LVALUE->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->yy_ch_buf[number_to_move]),
-			yy_n_chars, num_to_read );
+		YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
+			(yy_n_chars), num_to_read );
 
-		yy_current_buffer->yy_n_chars = yy_n_chars;
+		YY_CURRENT_BUFFER_LVALUE->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;
-			yyrestart( yyin );
+			llvmAsmrestart(llvmAsmin  );
 			}
 
 		else
 			{
 			ret_val = EOB_ACT_LAST_MATCH;
-			yy_current_buffer->yy_buffer_status =
+			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
 				YY_BUFFER_EOF_PENDING;
 			}
 		}
@@ -2266,149 +2323,141 @@
 	else
 		ret_val = EOB_ACT_CONTINUE_SCAN;
 
-	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;
+	(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;
 
-	yytext_ptr = &yy_current_buffer->yy_ch_buf[0];
+	(yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->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()
-	{
+    static yy_state_type yy_get_previous_state (void)
+{
 	register yy_state_type yy_current_state;
 	register char *yy_cp;
+    
+	yy_current_state = (yy_start);
 
-	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 )
+	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 >= 551 )
+			if ( yy_current_state >= 557 )
 				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 );
  */
-
-#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
-	{
+    static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state )
+{
 	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 >= 551 )
+		if ( yy_current_state >= 557 )
 			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 == 550);
-	if ( ! yy_is_jam )
-		*yy_state_ptr++ = yy_current_state;
+	yy_is_jam = (yy_current_state == 556);
 
 	return yy_is_jam ? 0 : yy_current_state;
-	}
-
+}
 
-#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;
+    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 yytext */
-	*yy_cp = yy_hold_char;
+	/* undo effects of setting up llvmAsmtext */
+	*yy_cp = (yy_hold_char);
 
-	if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
+	if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
 		{ /* need to shift things up to make room */
 		/* +2 for EOB chars. */
-		register int number_to_move = yy_n_chars + 2;
-		register char *dest = &yy_current_buffer->yy_ch_buf[
-					yy_current_buffer->yy_buf_size + 2];
+		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 char *source =
-				&yy_current_buffer->yy_ch_buf[number_to_move];
+				&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
 
-		while ( source > yy_current_buffer->yy_ch_buf )
+		while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
 			*--dest = *--source;
 
 		yy_cp += (int) (dest - source);
 		yy_bp += (int) (dest - source);
-		yy_current_buffer->yy_n_chars =
-			yy_n_chars = yy_current_buffer->yy_buf_size;
+		YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
+			(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
 
-		if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
+		if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
 			YY_FATAL_ERROR( "flex scanner push-back overflow" );
 		}
 
 	*--yy_cp = (char) c;
 
-	if ( c == '\n' )
-		--yylineno;
-
-	yytext_ptr = yy_bp;
-	yy_hold_char = *yy_cp;
-	yy_c_buf_p = yy_cp;
-	}
-#endif	/* ifndef YY_NO_UNPUT */
+    if ( c == '\n' ){
+        --llvmAsmlineno;
+    }
 
+	(yytext_ptr) = yy_bp;
+	(yy_hold_char) = *yy_cp;
+	(yy_c_buf_p) = yy_cp;
+}
 
 #ifndef YY_NO_INPUT
 #ifdef __cplusplus
-static int yyinput()
+    static int yyinput (void)
 #else
-static int input()
+    static int input  (void)
 #endif
-	{
-	int c;
 
-	*yy_c_buf_p = yy_hold_char;
+{
+	int c;
+    
+	*(yy_c_buf_p) = (yy_hold_char);
 
-	if ( *yy_c_buf_p == YY_END_OF_BUFFER_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->yy_ch_buf[yy_n_chars] )
+		if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->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()
@@ -2422,16 +2471,16 @@
 					 */
 
 					/* Reset buffer status. */
-					yyrestart( yyin );
+					llvmAsmrestart(llvmAsmin );
 
-					/* fall through */
+					/*FALLTHROUGH*/
 
 				case EOB_ACT_END_OF_FILE:
 					{
-					if ( yywrap() )
+					if ( llvmAsmwrap( ) )
 						return EOF;
 
-					if ( ! yy_did_buffer_switch_on_eof )
+					if ( ! (yy_did_buffer_switch_on_eof) )
 						YY_NEW_FILE;
 #ifdef __cplusplus
 					return yyinput();
@@ -2441,169 +2490,170 @@
 					}
 
 				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 yytext */
-	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 llvmAsmtext */
+	(yy_hold_char) = *++(yy_c_buf_p);
 
 	if ( c == '\n' )
-		++yylineno;
+		   
+    llvmAsmlineno++;
+;
 
 	return c;
-	}
-#endif /* YY_NO_INPUT */
-
-#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 );
+}
+#endif	/* ifndef YY_NO_INPUT */
 
-	yy_init_buffer( yy_current_buffer, input_file );
-	yy_load_buffer_state();
+/** 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 );
 	}
 
+	llvmAsm_init_buffer(YY_CURRENT_BUFFER,input_file );
+	llvmAsm_load_buffer_state( );
+}
 
-#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 )
+/** 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 )
 		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->yy_buf_pos = yy_c_buf_p;
-		yy_current_buffer->yy_n_chars = yy_n_chars;
+		*(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_current_buffer = new_buffer;
-	yy_load_buffer_state();
+	YY_CURRENT_BUFFER_LVALUE = new_buffer;
+	llvmAsm_load_buffer_state( );
 
 	/* We don't actually know whether we did this switch during
-	 * EOF (yywrap()) processing, but the only time this flag
-	 * is looked at is after yywrap() is called, so it's safe
+	 * EOF (llvmAsmwrap()) processing, but the only time this flag
+	 * is looked at is after llvmAsmwrap() is called, so it's safe
 	 * to go ahead and always set it.
 	 */
-	yy_did_buffer_switch_on_eof = 1;
-	}
-
-
-#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;
-	}
+	(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);
+}
 
-#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
-	{
+/** 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 )
+{
 	YY_BUFFER_STATE b;
-
-	b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
+    
+	b = (YY_BUFFER_STATE) llvmAsmalloc(sizeof( struct yy_buffer_state )  );
 	if ( ! b )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
+		YY_FATAL_ERROR( "out of dynamic memory in llvmAsm_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 *) yy_flex_alloc( b->yy_buf_size + 2 );
+	b->yy_ch_buf = (char *) llvmAsmalloc(b->yy_buf_size + 2  );
 	if ( ! b->yy_ch_buf )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
+		YY_FATAL_ERROR( "out of dynamic memory in llvmAsm_create_buffer()" );
 
 	b->yy_is_our_buffer = 1;
 
-	yy_init_buffer( b, file );
+	llvmAsm_init_buffer(b,file );
 
 	return b;
-	}
-
+}
 
-#ifdef YY_USE_PROTOS
-void yy_delete_buffer( YY_BUFFER_STATE b )
-#else
-void yy_delete_buffer( b )
-YY_BUFFER_STATE b;
-#endif
-	{
+/** Destroy the buffer.
+ * @param b a buffer created with llvmAsm_create_buffer()
+ * 
+ */
+    void llvmAsm_delete_buffer (YY_BUFFER_STATE  b )
+{
+    
 	if ( ! b )
 		return;
 
-	if ( b == yy_current_buffer )
-		yy_current_buffer = (YY_BUFFER_STATE) 0;
+	if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
+		YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
 
 	if ( b->yy_is_our_buffer )
-		yy_flex_free( (void *) b->yy_ch_buf );
+		llvmAsmfree((void *) b->yy_ch_buf  );
 
-	yy_flex_free( (void *) 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
+	llvmAsmfree((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 )
 
-	{
-	yy_flush_buffer( b );
+{
+	int oerrno = errno;
+    
+	llvmAsm_flush_buffer(b );
 
 	b->yy_input_file = file;
 	b->yy_fill_buffer = 1;
 
-#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
-	}
-
+    /* 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;
+    }
 
-#ifdef YY_USE_PROTOS
-void yy_flush_buffer( YY_BUFFER_STATE b )
-#else
-void yy_flush_buffer( b )
-YY_BUFFER_STATE b;
-#endif
+        b->yy_is_interactive = 0;
+    
+	errno = oerrno;
+}
 
-	{
-	if ( ! b )
+/** 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 )
 		return;
 
 	b->yy_n_chars = 0;
@@ -2620,31 +2670,123 @@
 	b->yy_at_bol = 1;
 	b->yy_buffer_status = YY_BUFFER_NEW;
 
-	if ( b == yy_current_buffer )
-		yy_load_buffer_state();
+	if ( b == YY_CURRENT_BUFFER )
+		llvmAsm_load_buffer_state( );
+}
+
+/** Pushes the new state onto the stack. The new state becomes
+ *  the current state. This function will allocate the stack
+ *  if necessary.
+ *  @param new_buffer The new state.
+ *  
+ */
+void llvmAsmpush_buffer_state (YY_BUFFER_STATE new_buffer )
+{
+    	if (new_buffer == NULL)
+		return;
+
+	llvmAsmensure_buffer_stack();
+
+	/* This block is copied from llvmAsm_switch_to_buffer. */
+	if ( YY_CURRENT_BUFFER )
+		{
+		/* Flush out information for old buffer. */
+		*(yy_c_buf_p) = (yy_hold_char);
+		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
+		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
+		}
+
+	/* Only push if top exists. Otherwise, replace top. */
+	if (YY_CURRENT_BUFFER)
+		(yy_buffer_stack_top)++;
+	YY_CURRENT_BUFFER_LVALUE = new_buffer;
+
+	/* copied from llvmAsm_switch_to_buffer. */
+	llvmAsm_load_buffer_state( );
+	(yy_did_buffer_switch_on_eof) = 1;
+}
+
+/** Removes and deletes the top of the stack, if present.
+ *  The next element becomes the new top.
+ *  
+ */
+void llvmAsmpop_buffer_state (void)
+{
+    	if (!YY_CURRENT_BUFFER)
+		return;
+
+	llvmAsm_delete_buffer(YY_CURRENT_BUFFER );
+	YY_CURRENT_BUFFER_LVALUE = NULL;
+	if ((yy_buffer_stack_top) > 0)
+		--(yy_buffer_stack_top);
+
+	if (YY_CURRENT_BUFFER) {
+		llvmAsm_load_buffer_state( );
+		(yy_did_buffer_switch_on_eof) = 1;
 	}
+}
 
+/* Allocates the stack if it does not exist.
+ *  Guarantees space for at least one push.
+ */
+static void llvmAsmensure_buffer_stack (void)
+{
+	int num_to_alloc;
+    
+	if (!(yy_buffer_stack)) {
+
+		/* First allocation is just for 2 elements, since we don't know if this
+		 * scanner will even need a stack. We use 2 instead of 1 to avoid an
+		 * immediate realloc on the next call.
+         */
+		num_to_alloc = 1;
+		(yy_buffer_stack) = (struct yy_buffer_state**)llvmAsmalloc
+								(num_to_alloc * sizeof(struct yy_buffer_state*)
+								);
+		
+		memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
+				
+		(yy_buffer_stack_max) = num_to_alloc;
+		(yy_buffer_stack_top) = 0;
+		return;
+	}
 
-#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 ((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 )
+{
+	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) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
+	b = (YY_BUFFER_STATE) llvmAsmalloc(sizeof( struct yy_buffer_state )  );
 	if ( ! b )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
+		YY_FATAL_ERROR( "out of dynamic memory in llvmAsm_scan_buffer()" );
 
 	b->yy_buf_size = size - 2;	/* "- 2" to take care of EOB's */
 	b->yy_buf_pos = b->yy_ch_buf = base;
@@ -2656,58 +2798,53 @@
 	b->yy_fill_buffer = 0;
 	b->yy_buffer_status = YY_BUFFER_NEW;
 
-	yy_switch_to_buffer( b );
+	llvmAsm_switch_to_buffer(b  );
 
 	return b;
-	}
-#endif
-
-
-#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
+}
 
+/** 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) );
+}
 
-#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
-	{
+/** 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 )
+{
 	YY_BUFFER_STATE b;
 	char *buf;
 	yy_size_t n;
 	int i;
-
+    
 	/* Get memory for full buffer, including space for trailing EOB's. */
-	n = len + 2;
-	buf = (char *) yy_flex_alloc( n );
+	n = _yybytes_len + 2;
+	buf = (char *) llvmAsmalloc(n  );
 	if ( ! buf )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
+		YY_FATAL_ERROR( "out of dynamic memory in llvmAsm_scan_bytes()" );
 
-	for ( i = 0; i < len; ++i )
-		buf[i] = bytes[i];
+	for ( i = 0; i < _yybytes_len; ++i )
+		buf[i] = yybytes[i];
 
-	buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;
+	buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
 
-	b = yy_scan_buffer( buf, n );
+	b = llvmAsm_scan_buffer(buf,n );
 	if ( ! b )
-		YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
+		YY_FATAL_ERROR( "bad buffer in llvmAsm_scan_bytes()" );
 
 	/* It's okay to grow etc. this buffer, and we should throw it
 	 * away when we're done.
@@ -2715,148 +2852,199 @@
 	b->yy_is_our_buffer = 1;
 
 	return b;
-	}
-#endif
-
+}
 
-#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;
+#ifndef YY_EXIT_FAILURE
+#define YY_EXIT_FAILURE 2
 #endif
-	{
-	if ( yy_start_stack_ptr >= yy_start_stack_depth )
-		{
-		yy_size_t new_size;
 
-		yy_start_stack_depth += YY_START_STACK_INCR;
-		new_size = yy_start_stack_depth * sizeof( int );
+static void yy_fatal_error (yyconst char* msg )
+{
+    	(void) fprintf( stderr, "%s\n", msg );
+	exit( YY_EXIT_FAILURE );
+}
 
-		if ( ! yy_start_stack )
-			yy_start_stack = (int *) yy_flex_alloc( new_size );
+/* Redefine yyless() so it works in section 3 code. */
 
-		else
-			yy_start_stack = (int *) yy_flex_realloc(
-					(void *) yy_start_stack, 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 )
 
-		if ( ! yy_start_stack )
-			YY_FATAL_ERROR(
-			"out of memory expanding start-condition stack" );
-		}
+/* Accessor  methods (get/set functions) to struct members. */
 
-	yy_start_stack[yy_start_stack_ptr++] = YY_START;
+/** Get the current line number.
+ * 
+ */
+int llvmAsmget_lineno  (void)
+{
+        
+    return llvmAsmlineno;
+}
 
-	BEGIN(new_state);
-	}
-#endif
+/** Get the input stream.
+ * 
+ */
+FILE *llvmAsmget_in  (void)
+{
+        return llvmAsmin;
+}
 
+/** Get the output stream.
+ * 
+ */
+FILE *llvmAsmget_out  (void)
+{
+        return llvmAsmout;
+}
 
-#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 length of the current token.
+ * 
+ */
+int llvmAsmget_leng  (void)
+{
+        return llvmAsmleng;
+}
 
-	BEGIN(yy_start_stack[yy_start_stack_ptr]);
-	}
-#endif
+/** Get the current token.
+ * 
+ */
 
+char *llvmAsmget_text  (void)
+{
+        return llvmAsmtext;
+}
 
-#ifndef YY_NO_TOP_STATE
-static int yy_top_state()
-	{
-	return yy_start_stack[yy_start_stack_ptr - 1];
-	}
-#endif
+/** Set the current line number.
+ * @param line_number
+ * 
+ */
+void llvmAsmset_lineno (int  line_number )
+{
+    
+    llvmAsmlineno = line_number;
+}
 
-#ifndef YY_EXIT_FAILURE
-#define YY_EXIT_FAILURE 2
-#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 ;
+}
 
-#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 );
-	}
+void llvmAsmset_out (FILE *  out_str )
+{
+        llvmAsmout = out_str ;
+}
 
+int llvmAsmget_debug  (void)
+{
+        return llvmAsm_flex_debug;
+}
 
+void llvmAsmset_debug (int  bdebug )
+{
+        llvmAsm_flex_debug = bdebug ;
+}
 
-/* Redefine yyless() so it works in section 3 code. */
+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;
+}
 
-#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 )
+/* 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( );
 
+    return 0;
+}
 
-/* Internal utility routines. */
+/*
+ * Internal utility routines.
+ */
 
 #ifndef yytext_ptr
-#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
-	{
+static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
+{
 	register int i;
 	for ( i = 0; i < n; ++i )
 		s1[i] = s2[i];
-	}
+}
 #endif
 
 #ifdef YY_NEED_STRLEN
-#ifdef YY_USE_PROTOS
-static int yy_flex_strlen( yyconst char *s )
-#else
-static int yy_flex_strlen( s )
-yyconst char *s;
-#endif
-	{
+static int yy_flex_strlen (yyconst char * s )
+{
 	register int n;
 	for ( n = 0; s[n]; ++n )
 		;
 
 	return n;
-	}
+}
 #endif
 
-
-#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
-	{
+void *llvmAsmalloc (yy_size_t  size )
+{
 	return (void *) malloc( 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
-	{
+void *llvmAsmrealloc  (void * ptr, yy_size_t  size )
+{
 	/* 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
@@ -2865,24 +3053,16 @@
 	 * 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-1/lib/AsmParser/Lexer.l"
 


Index: llvm/lib/AsmParser/llvmAsmParser.cpp.cvs
diff -u llvm/lib/AsmParser/llvmAsmParser.cpp.cvs:1.51 llvm/lib/AsmParser/llvmAsmParser.cpp.cvs:1.52
--- llvm/lib/AsmParser/llvmAsmParser.cpp.cvs:1.51	Fri Jan 12 12:33:30 2007
+++ llvm/lib/AsmParser/llvmAsmParser.cpp.cvs	Fri Jan 12 13:22:51 2007
@@ -1,147 +1,350 @@
+/* A Bison parser, made by GNU Bison 2.3.  */
 
-/*  A Bison parser, made from /Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y
-    by GNU Bison version 1.28  */
+/* Skeleton implementation for Bison's Yacc-like parsers in C
 
-#define YYBISON 1  /* Identify Bison output.  */
+   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+   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
+   the Free Software Foundation; either version 2, or (at your option)
+   any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   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.  */
+
+/* C LALR(1) parser skeleton 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
+   variables, as they might otherwise be expanded by user macros.
+   There are some unavoidable exceptions within include files to
+   define necessary library symbols; they are noted "INFRINGES ON
+   USER NAME SPACE" below.  */
+
+/* Identify Bison output.  */
+#define YYBISON 1
+
+/* Bison version.  */
+#define YYBISON_VERSION "2.3"
+
+/* Skeleton name.  */
+#define YYSKELETON_NAME "yacc.c"
+
+/* Pure parsers.  */
+#define YYPURE 0
+
+/* Using locations.  */
+#define YYLSP_NEEDED 0
+
+/* Substitute the variable and function names.  */
 #define yyparse llvmAsmparse
-#define yylex llvmAsmlex
+#define yylex   llvmAsmlex
 #define yyerror llvmAsmerror
-#define yylval llvmAsmlval
-#define yychar llvmAsmchar
+#define yylval  llvmAsmlval
+#define yychar  llvmAsmchar
 #define yydebug llvmAsmdebug
 #define yynerrs llvmAsmnerrs
-#define	ESINT64VAL	257
-#define	EUINT64VAL	258
-#define	SINTVAL	259
-#define	UINTVAL	260
-#define	FPVAL	261
-#define	VOID	262
-#define	BOOL	263
-#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
 
-#line 14 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+
+/* Tokens.  */
+#ifndef YYTOKENTYPE
+# define YYTOKENTYPE
+   /* Put the tokens into the symbol table, so that GDB and other debuggers
+      know about them.  */
+   enum yytokentype {
+     ESINT64VAL = 258,
+     EUINT64VAL = 259,
+     SINTVAL = 260,
+     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
+   };
+#endif
+/* Tokens.  */
+#define ESINT64VAL 258
+#define EUINT64VAL 259
+#define SINTVAL 260
+#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
+
+
+
+
+/* Copy the first part of user declarations.  */
+#line 14 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
 
 #include "ParserInternals.h"
 #include "llvm/CallingConv.h"
@@ -341,6 +544,7 @@
   std::map<const Type*, ValueList> LateResolveValues;
   bool isDeclare;                    // Is this function a forward declararation?
   GlobalValue::LinkageTypes Linkage; // Linkage for forward declaration.
+  GlobalValue::VisibilityTypes Visibility;
 
   /// BBForwardRefs - When we see forward references to basic blocks, keep
   /// track of them here.
@@ -351,7 +555,8 @@
   inline PerFunctionInfo() {
     CurrentFunction = 0;
     isDeclare = false;
-    Linkage = GlobalValue::ExternalLinkage;    
+    Linkage = GlobalValue::ExternalLinkage;
+    Visibility = GlobalValue::DefaultVisibility;
   }
 
   inline void FunctionStart(Function *M) {
@@ -376,6 +581,7 @@
     CurrentFunction = 0;
     isDeclare = false;
     Linkage = GlobalValue::ExternalLinkage;
+    Visibility = GlobalValue::DefaultVisibility;
   }
 } CurFun;  // Info for the current function...
 
@@ -779,7 +985,9 @@
 /// ParseGlobalVariable - Handle parsing of a global.  If Initializer is null,
 /// this is a declaration, otherwise it is a definition.
 static GlobalVariable *
-ParseGlobalVariable(char *NameStr,GlobalValue::LinkageTypes Linkage,
+ParseGlobalVariable(char *NameStr,
+                    GlobalValue::LinkageTypes Linkage,
+                    GlobalValue::VisibilityTypes Visibility,
                     bool isConstantGlobal, const Type *Ty,
                     Constant *Initializer) {
   if (isa<FunctionType>(Ty)) {
@@ -812,6 +1020,7 @@
     CurModule.CurrentModule->getGlobalList().push_back(GV);
     GV->setInitializer(Initializer);
     GV->setLinkage(Linkage);
+    GV->setVisibility(Visibility);
     GV->setConstant(isConstantGlobal);
     InsertValue(GV, CurModule.Values);
     return GV;
@@ -833,6 +1042,7 @@
   GlobalVariable *GV =
     new GlobalVariable(Ty, isConstantGlobal, Linkage, Initializer, Name,
                        CurModule.CurrentModule);
+  GV->setVisibility(Visibility);
   InsertValue(GV, CurModule.Values);
   return GV;
 }
@@ -1003,8 +1213,29 @@
 }
 
 
-#line 876 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-typedef union {
+
+/* Enabling traces.  */
+#ifndef YYDEBUG
+# define YYDEBUG 0
+#endif
+
+/* Enabling verbose error messages.  */
+#ifdef YYERROR_VERBOSE
+# undef YYERROR_VERBOSE
+# define YYERROR_VERBOSE 1
+#else
+# define YYERROR_VERBOSE 0
+#endif
+
+/* Enabling the token table.  */
+#ifndef YYTOKEN_TABLE
+# 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"
+{
   llvm::Module                           *ModuleVal;
   llvm::Function                         *FunctionVal;
   llvm::BasicBlock                       *BasicBlockVal;
@@ -1029,6 +1260,7 @@
   std::vector<llvm::Constant*>           *ConstVector;
 
   llvm::GlobalValue::LinkageTypes         Linkage;
+  llvm::GlobalValue::VisibilityTypes      Visibility;
   llvm::FunctionType::ParameterAttributes ParamAttrs;
   int64_t                           SInt64Val;
   uint64_t                          UInt64Val;
@@ -1048,1065 +1280,1726 @@
   llvm::Module::Endianness          Endianness;
   llvm::ICmpInst::Predicate         IPredicate;
   llvm::FCmpInst::Predicate         FPredicate;
-} YYSTYPE;
-#include <stdio.h>
-
-#ifndef __cplusplus
-#ifndef __STDC__
-#define const
-#endif
+}
+/* Line 187 of yacc.c.  */
+#line 1286 "llvmAsmParser.tab.c"
+	YYSTYPE;
+# define yystype YYSTYPE /* obsolescent; will be withdrawn */
+# define YYSTYPE_IS_DECLARED 1
+# define YYSTYPE_IS_TRIVIAL 1
 #endif
 
 
 
-#define	YYFINAL		565
-#define	YYFLAG		-32768
-#define	YYNTBASE	146
-
-#define YYTRANSLATE(x) ((unsigned)(x) <= 385 ? yytranslate[x] : 223)
-
-static const short 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,   136,
-   137,   134,     2,   133,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,   141,
-   132,   142,     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,   135,   140,     2,     2,     2,     2,     2,   145,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,   139,
-     2,     2,   143,     2,   144,     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,     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,     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,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     1,     3,     4,     5,     6,
-     7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
-    17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
-    27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
-    37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
-    47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
-    57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
-    67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
-    77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
-    87,    88,    89,    90,    91,    92,    93,    94,    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
-};
+/* Copy the second part of user declarations.  */
 
-#if YYDEBUG != 0
-static const short yyprhs[] = {     0,
-     0,     2,     4,     6,     8,    10,    12,    14,    16,    18,
-    20,    22,    24,    26,    28,    30,    32,    34,    36,    38,
-    40,    42,    44,    46,    48,    50,    52,    54,    56,    58,
-    60,    62,    64,    66,    68,    70,    72,    74,    76,    78,
-    80,    82,    84,    86,    88,    90,    92,    94,    96,    98,
-   100,   102,   104,   106,   108,   110,   112,   114,   116,   119,
-   120,   122,   124,   126,   128,   130,   132,   134,   136,   137,
-   139,   141,   142,   144,   146,   148,   150,   151,   153,   155,
-   157,   159,   161,   163,   166,   168,   170,   171,   174,   176,
-   178,   179,   182,   183,   186,   187,   191,   194,   195,   197,
-   198,   202,   204,   207,   209,   211,   213,   215,   217,   219,
-   221,   224,   226,   229,   235,   241,   247,   253,   257,   260,
-   266,   271,   274,   276,   278,   280,   284,   286,   290,   292,
-   293,   295,   299,   304,   308,   312,   317,   322,   326,   333,
-   339,   342,   345,   348,   351,   354,   357,   360,   363,   366,
-   369,   376,   382,   391,   398,   405,   413,   421,   428,   435,
-   444,   453,   457,   459,   461,   463,   465,   466,   468,   471,
-   472,   476,   477,   481,   485,   487,   491,   495,   496,   502,
-   503,   510,   511,   518,   521,   525,   527,   529,   531,   535,
-   539,   543,   547,   551,   555,   557,   558,   560,   562,   564,
-   565,   571,   575,   577,   581,   583,   584,   594,   596,   598,
-   602,   604,   606,   609,   612,   613,   615,   617,   619,   621,
-   623,   625,   627,   629,   631,   635,   637,   643,   645,   647,
-   649,   651,   654,   657,   660,   664,   667,   668,   670,   673,
-   676,   680,   690,   700,   709,   724,   726,   728,   735,   741,
-   744,   751,   759,   763,   769,   770,   771,   775,   778,   780,
-   786,   792,   799,   806,   811,   816,   823,   828,   833,   840,
-   847,   850,   859,   861,   863,   864,   868,   875,   879,   886,
-   889,   894,   901
-};
 
-static const short yyrhs[] = {     5,
-     0,     6,     0,    70,     0,    71,     0,    72,     0,    73,
-     0,    74,     0,    75,     0,    76,     0,    77,     0,    78,
-     0,    79,     0,    80,     0,    81,     0,   110,     0,   111,
-     0,   112,     0,   113,     0,   114,     0,   115,     0,   116,
-     0,   117,     0,   118,     0,   119,     0,   120,     0,   121,
-     0,   124,     0,   125,     0,   126,     0,    84,     0,    85,
-     0,    86,     0,    87,     0,    88,     0,    89,     0,    90,
-     0,    91,     0,    92,     0,    93,     0,    94,     0,    95,
-     0,    96,     0,    97,     0,    98,     0,    99,     0,   100,
-     0,   101,     0,   102,     0,   103,     0,    90,     0,    91,
-     0,    92,     0,    93,     0,    20,     0,    21,     0,    10,
-     0,    11,     0,    12,     0,   195,   132,     0,     0,    34,
-     0,    36,     0,    35,     0,    37,     0,    39,     0,    38,
-     0,    40,     0,    42,     0,     0,    38,     0,    40,     0,
-     0,    34,     0,    35,     0,    36,     0,    39,     0,     0,
-    57,     0,    58,     0,    59,     0,    60,     0,    61,     0,
-    62,     0,    56,     4,     0,   111,     0,   112,     0,     0,
-   162,   161,     0,   131,     0,   161,     0,     0,   164,   163,
-     0,     0,    49,     4,     0,     0,   133,    49,     4,     0,
-    28,    17,     0,     0,   167,     0,     0,   133,   170,   169,
-     0,   167,     0,    49,     4,     0,     9,     0,    10,     0,
-    11,     0,    12,     0,    13,     0,    41,     0,   171,     0,
-   172,   134,     0,   207,     0,   135,     4,     0,   172,   136,
-   176,   137,   164,     0,     8,   136,   176,   137,   164,     0,
-   138,     4,   139,   172,   140,     0,   141,     4,   139,   172,
-   142,     0,   143,   177,   144,     0,   143,   144,     0,   141,
-   143,   177,   144,   142,     0,   141,   143,   144,   142,     0,
-   172,   162,     0,   172,     0,     8,     0,   173,     0,   175,
-   133,   173,     0,   175,     0,   175,   133,    31,     0,    31,
-     0,     0,   172,     0,   177,   133,   172,     0,   172,   138,
-   180,   140,     0,   172,   138,   140,     0,   172,   145,    17,
-     0,   172,   141,   180,   142,     0,   172,   143,   180,   144,
-     0,   172,   143,   144,     0,   172,   141,   143,   180,   144,
-   142,     0,   172,   141,   143,   144,   142,     0,   172,    32,
-     0,   172,    33,     0,   172,   207,     0,   172,   179,     0,
-   172,    19,     0,   153,     3,     0,   153,     4,     0,     9,
-    20,     0,     9,    21,     0,   154,     7,     0,   149,   136,
-   178,    30,   172,   137,     0,   109,   136,   178,   218,   137,
-     0,   123,   136,   178,   133,   178,   133,   178,   137,     0,
-   147,   136,   178,   133,   178,   137,     0,   148,   136,   178,
-   133,   178,   137,     0,    82,   151,   136,   178,   133,   178,
-   137,     0,    83,   152,   136,   178,   133,   178,   137,     0,
-   150,   136,   178,   133,   178,   137,     0,   128,   136,   178,
-   133,   178,   137,     0,   129,   136,   178,   133,   178,   133,
-   178,   137,     0,   130,   136,   178,   133,   178,   133,   178,
-   137,     0,   180,   133,   178,     0,   178,     0,    26,     0,
-    27,     0,   183,     0,     0,   184,     0,   183,   184,     0,
-     0,    25,   185,   203,     0,     0,    24,   186,   204,     0,
-    54,    53,   190,     0,    18,     0,   155,    14,   172,     0,
-   155,    14,     8,     0,     0,   155,   181,   178,   187,   169,
-     0,     0,   155,   156,   181,   178,   188,   169,     0,     0,
-   155,   157,   181,   172,   189,   169,     0,    43,   192,     0,
-    50,   132,   193,     0,    17,     0,    48,     0,    47,     0,
-    45,   132,   191,     0,    46,   132,     4,     0,    44,   132,
-    17,     0,    63,   132,    17,     0,   138,   194,   140,     0,
-   194,   133,    17,     0,    17,     0,     0,    15,     0,    17,
-     0,   195,     0,     0,   197,   133,   172,   162,   196,     0,
-   172,   162,   196,     0,   197,     0,   197,   133,    31,     0,
-    31,     0,     0,   160,   174,   195,   136,   198,   137,   164,
-   168,   165,     0,    22,     0,   143,     0,   159,   199,   200,
-     0,    23,     0,   144,     0,   210,   202,     0,   158,   199,
-     0,     0,    55,     0,     3,     0,     4,     0,     7,     0,
-    20,     0,    21,     0,    32,     0,    33,     0,    19,     0,
-   141,   180,   142,     0,   179,     0,    53,   205,    17,   133,
-    17,     0,   146,     0,   195,     0,   207,     0,   206,     0,
-   172,   208,     0,   210,   211,     0,   201,   211,     0,   212,
-   155,   213,     0,   212,   215,     0,     0,    16,     0,    64,
-   209,     0,    64,     8,     0,    65,    13,   208,     0,    65,
-     9,   208,   133,    13,   208,   133,    13,   208,     0,    66,
-   153,   208,   133,    13,   208,   138,   214,   140,     0,    66,
-   153,   208,   133,    13,   208,   138,   140,     0,    67,   160,
-   174,   208,   136,   217,   137,   164,    30,    13,   208,    68,
-    13,   208,     0,    68,     0,    69,     0,   214,   153,   206,
-   133,    13,   208,     0,   153,   206,   133,    13,   208,     0,
-   155,   220,     0,   172,   138,   208,   133,   208,   140,     0,
-   216,   133,   138,   208,   133,   208,   140,     0,   172,   208,
-   162,     0,   217,   133,   172,   208,   162,     0,     0,     0,
-   218,   133,   209,     0,    52,    51,     0,    51,     0,   147,
-   172,   208,   133,   208,     0,   148,   172,   208,   133,   208,
-     0,    82,   151,   172,   208,   133,   208,     0,    83,   152,
-   172,   208,   133,   208,     0,   150,   209,   133,   209,     0,
-   149,   209,    30,   172,     0,   123,   209,   133,   209,   133,
-   209,     0,   127,   209,   133,   172,     0,   128,   209,   133,
-   209,     0,   129,   209,   133,   209,   133,   209,     0,   130,
-   209,   133,   209,   133,   209,     0,   122,   216,     0,   219,
-   160,   174,   208,   136,   217,   137,   164,     0,   222,     0,
-    29,     0,     0,   104,   172,   166,     0,   104,   172,   133,
-    10,   208,   166,     0,   105,   172,   166,     0,   105,   172,
-   133,    10,   208,   166,     0,   106,   209,     0,   221,   107,
-   172,   208,     0,   221,   108,   209,   133,   172,   208,     0,
-   109,   172,   208,   218,     0
-};
+/* Line 216 of yacc.c.  */
+#line 1299 "llvmAsmParser.tab.c"
 
+#ifdef short
+# undef short
 #endif
 
-#if YYDEBUG != 0
-static const short yyrline[] = { 0,
-  1019,  1020,  1030,  1030,  1030,  1030,  1030,  1030,  1030,  1030,
-  1030,  1031,  1031,  1031,  1032,  1032,  1032,  1032,  1032,  1032,
-  1032,  1033,  1033,  1033,  1033,  1033,  1034,  1034,  1034,  1036,
-  1036,  1037,  1037,  1038,  1038,  1039,  1039,  1040,  1040,  1044,
-  1044,  1045,  1045,  1046,  1046,  1047,  1047,  1048,  1048,  1049,
-  1049,  1050,  1050,  1051,  1052,  1057,  1058,  1058,  1061,  1065,
-  1071,  1072,  1073,  1074,  1075,  1079,  1080,  1081,  1085,  1086,
-  1087,  1091,  1092,  1093,  1094,  1095,  1098,  1098,  1099,  1100,
-  1101,  1102,  1103,  1104,  1112,  1113,  1116,  1117,  1122,  1123,
-  1126,  1127,  1134,  1134,  1141,  1141,  1150,  1158,  1158,  1164,
-  1164,  1166,  1171,  1184,  1184,  1184,  1184,  1184,  1187,  1191,
-  1195,  1202,  1207,  1215,  1233,  1251,  1256,  1268,  1278,  1282,
-  1292,  1299,  1306,  1313,  1318,  1323,  1330,  1331,  1338,  1345,
-  1353,  1358,  1369,  1397,  1413,  1442,  1470,  1495,  1514,  1539,
-  1558,  1570,  1577,  1640,  1650,  1660,  1666,  1672,  1676,  1680,
-  1688,  1702,  1723,  1731,  1737,  1748,  1753,  1758,  1767,  1773,
-  1779,  1788,  1792,  1800,  1800,  1811,  1816,  1824,  1825,  1829,
-  1829,  1833,  1833,  1836,  1839,  1851,  1875,  1886,  1892,  1895,
-  1900,  1903,  1909,  1913,  1916,  1922,  1935,  1936,  1938,  1942,
-  1951,  1955,  1960,  1962,  1967,  1972,  1981,  1981,  1982,  1982,
-  1984,  1994,  2005,  2009,  2018,  2027,  2032,  2137,  2137,  2139,
-  2147,  2147,  2149,  2154,  2165,  2169,  2174,  2178,  2182,  2186,
-  2190,  2194,  2198,  2202,  2206,  2231,  2235,  2249,  2253,  2259,
-  2259,  2265,  2274,  2278,  2287,  2298,  2307,  2319,  2332,  2336,
-  2340,  2345,  2354,  2373,  2382,  2449,  2453,  2460,  2471,  2484,
-  2493,  2504,  2514,  2522,  2530,  2533,  2534,  2541,  2545,  2550,
-  2571,  2588,  2601,  2614,  2623,  2636,  2644,  2651,  2657,  2663,
-  2669,  2684,  2747,  2752,  2756,  2763,  2770,  2778,  2785,  2793,
-  2801,  2815,  2832
-};
+#ifdef YYTYPE_UINT8
+typedef YYTYPE_UINT8 yytype_uint8;
+#else
+typedef unsigned char yytype_uint8;
 #endif
 
+#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;
+#endif
 
-#if YYDEBUG != 0 || defined (YYERROR_VERBOSE)
+#ifdef YYTYPE_UINT16
+typedef YYTYPE_UINT16 yytype_uint16;
+#else
+typedef unsigned short int yytype_uint16;
+#endif
 
-static const char * const yytname[] = {   "$","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",
-"INSERTELEMENT","SHUFFLEVECTOR","NORETURN","'='","','","'*'","'\\\\'","'('",
-"')'","'['","'x'","']'","'<'","'>'","'{'","'}'","'c'","INTVAL","ArithmeticOps",
-"LogicalOps","CastOps","ShiftOps","IPredicates","FPredicates","IntType","FPType",
-"OptAssign","GVInternalLinkage","GVExternalLinkage","FunctionDeclareLinkage",
-"FunctionDefineLinkage","OptCallingConv","ParamAttr","OptParamAttrs","FuncAttr",
-"OptFuncAttrs","OptAlign","OptCAlign","SectionString","OptSection","GlobalVarAttributes",
-"GlobalVarAttribute","PrimType","Types","ArgType","ResultTypes","ArgTypeList",
-"ArgTypeListI","TypeListI","ConstVal","ConstExpr","ConstVector","GlobalType",
-"Module","DefinitionList","Definition","@1","@2","@3","@4","@5","AsmBlock","BigOrLittle",
-"TargetDefinition","LibrariesDefinition","LibList","Name","OptName","ArgListH",
-"ArgList","FunctionHeaderH","BEGIN","FunctionHeader","END","Function","FunctionProto",
-"OptSideEffect","ConstValueRef","SymbolicValueRef","ValueRef","ResolvedVal",
-"BasicBlockList","BasicBlock","InstructionList","BBTerminatorInst","JumpTable",
-"Inst","PHIList","ValueRefList","IndexList","OptTailCall","InstVal","OptVolatile",
-"MemoryInst", NULL
-};
+#ifdef YYTYPE_INT16
+typedef YYTYPE_INT16 yytype_int16;
+#else
+typedef short int yytype_int16;
 #endif
 
-static const short yyr1[] = {     0,
-   146,   146,   147,   147,   147,   147,   147,   147,   147,   147,
-   147,   148,   148,   148,   149,   149,   149,   149,   149,   149,
-   149,   149,   149,   149,   149,   149,   150,   150,   150,   151,
-   151,   151,   151,   151,   151,   151,   151,   151,   151,   152,
-   152,   152,   152,   152,   152,   152,   152,   152,   152,   152,
-   152,   152,   152,   152,   152,   153,   154,   154,   155,   155,
-   156,   156,   156,   156,   156,   157,   157,   157,   158,   158,
-   158,   159,   159,   159,   159,   159,   160,   160,   160,   160,
-   160,   160,   160,   160,   161,   161,   162,   162,   163,   163,
-   164,   164,   165,   165,   166,   166,   167,   168,   168,   169,
-   169,   170,   170,   171,   171,   171,   171,   171,   172,   172,
-   172,   172,   172,   172,   172,   172,   172,   172,   172,   172,
-   172,   173,   174,   174,   175,   175,   176,   176,   176,   176,
-   177,   177,   178,   178,   178,   178,   178,   178,   178,   178,
-   178,   178,   178,   178,   178,   178,   178,   178,   178,   178,
-   179,   179,   179,   179,   179,   179,   179,   179,   179,   179,
-   179,   180,   180,   181,   181,   182,   182,   183,   183,   185,
-   184,   186,   184,   184,   184,   184,   184,   187,   184,   188,
-   184,   189,   184,   184,   184,   190,   191,   191,   192,   192,
-   192,   192,   193,   194,   194,   194,   195,   195,   196,   196,
-   197,   197,   198,   198,   198,   198,   199,   200,   200,   201,
-   202,   202,   203,   204,   205,   205,   206,   206,   206,   206,
-   206,   206,   206,   206,   206,   206,   206,   207,   207,   208,
-   208,   209,   210,   210,   211,   212,   212,   212,   213,   213,
-   213,   213,   213,   213,   213,   213,   213,   214,   214,   215,
-   216,   216,   217,   217,   217,   218,   218,   219,   219,   220,
-   220,   220,   220,   220,   220,   220,   220,   220,   220,   220,
-   220,   220,   220,   221,   221,   222,   222,   222,   222,   222,
-   222,   222,   222
-};
+#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
+#endif
+
+#define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
+
+#ifndef YY_
+# if YYENABLE_NLS
+#  if ENABLE_NLS
+#   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
+#   define YY_(msgid) dgettext ("bison-runtime", msgid)
+#  endif
+# endif
+# ifndef YY_
+#  define YY_(msgid) msgid
+# 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
 
-static const short yyr2[] = {     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,     1,     1,     1,     1,     1,     1,     1,
-     1,     1,     1,     1,     1,     1,     1,     1,     2,     0,
-     1,     1,     1,     1,     1,     1,     1,     1,     0,     1,
-     1,     0,     1,     1,     1,     1,     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,     5,     0,
-     6,     0,     6,     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,     3,
-     1,     1,     2,     2,     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
-};
+/* 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
 
-static const short yydefact[] = {    60,
-   197,   198,   175,   172,   170,     0,     0,     0,     0,    60,
-   168,     0,    69,    72,     0,     0,     0,     0,   184,     0,
-     0,     0,   164,   165,    61,    63,    62,    64,    66,    65,
-    67,    68,     0,     0,     0,   169,    59,    70,    71,    77,
-   173,    73,    74,    75,    76,    77,   237,   171,   237,     0,
-     0,     0,     0,   196,   185,   186,   174,     1,     2,   177,
-   104,   105,   106,   107,   108,   109,     0,     0,     0,     0,
-   228,   110,   176,   229,   112,     0,     0,     0,   104,   105,
-   106,   107,     0,     0,     0,   178,     0,    78,    79,    80,
-    81,    82,    83,     0,   214,     0,   238,   234,    60,   211,
-   212,   213,   233,   191,   188,   187,   189,   190,   192,   195,
-     0,   130,   113,     0,     0,     0,   119,   131,     0,   111,
-   130,   180,   182,   148,   149,   146,   147,   150,   145,   141,
-   142,     3,     4,     5,     6,     7,     8,     9,    10,    11,
-    12,    13,    14,     0,     0,     0,    15,    16,    17,    18,
-    19,    20,    21,    22,    23,    24,    25,    26,     0,    27,
-    28,    29,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,   144,   143,   100,    84,   124,   123,     0,
-   208,   209,   210,   275,   236,     0,   193,   129,    87,   125,
-   127,     0,     0,     0,     0,     0,     0,   118,     0,   100,
-   100,    30,    31,    32,    33,    34,    35,    36,    37,    38,
-    39,     0,    54,    55,    50,    51,    52,    53,    40,    41,
-    42,    43,    44,    45,    46,    47,    48,    49,     0,     0,
-     0,     0,     0,     0,   134,   163,     0,     0,     0,   138,
-     0,   135,     0,     0,     0,     0,     0,   179,     0,   274,
-   259,     0,     0,     0,     0,    77,   246,   247,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,   235,    77,   250,     0,   273,   194,
-   122,     0,    91,     0,     0,   121,     0,   132,    91,   181,
-   183,     0,     0,   256,     0,     0,     0,     0,     0,   133,
-   119,   131,     0,   136,   137,     0,     0,     0,     0,     0,
-     0,   102,   100,   206,   258,   240,     0,   239,     0,     0,
-    56,     0,     0,     0,     0,    95,    95,   280,     0,     0,
-   271,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,    85,    86,    88,   128,   126,   115,   116,
-   117,   120,   114,     0,     0,     0,     0,     0,     0,     0,
-   162,   140,     0,     0,     0,     0,     0,    97,   103,   101,
-   205,    87,   203,     0,   217,   218,   219,   224,   220,   221,
-   222,   223,   215,     0,   226,   231,   230,   232,     0,   241,
-     0,     0,     0,     0,     0,   276,     0,   278,   256,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,    89,    90,    92,     0,     0,     0,   152,
-     0,     0,     0,     0,   139,     0,     0,     0,     0,   200,
-     0,    91,   216,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,   283,     0,     0,     0,   267,   268,     0,
-     0,     0,     0,   265,   264,     0,   281,     0,     0,     0,
-   257,     0,   159,     0,     0,   154,   155,   151,   158,   199,
-   202,   204,    87,    98,     0,   225,     0,     0,   255,     0,
-     0,    95,    96,    95,     0,     0,     0,     0,     0,   260,
-   261,   255,     0,   156,   157,     0,     0,     0,   200,    99,
-    93,     0,     0,     0,     0,     0,   262,   263,     0,   277,
-   279,     0,     0,   266,   269,   270,     0,   282,   153,   160,
-   161,   201,     0,   207,   227,     0,     0,    87,     0,    91,
-   251,     0,    91,    94,     0,   244,     0,     0,   253,     0,
-     0,   252,   272,   242,     0,   243,     0,    87,     0,     0,
-     0,   254,     0,     0,     0,     0,   249,     0,     0,   248,
-     0,   245,     0,     0,     0
-};
+#if ! defined yyoverflow || YYERROR_VERBOSE
+
+/* The parser invokes alloca or malloc; define the necessary symbols.  */
+
+# ifdef YYSTACK_USE_ALLOCA
+#  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)
+#     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
+#     ifndef _STDLIB_H
+#      define _STDLIB_H 1
+#     endif
+#    endif
+#   endif
+#  endif
+# endif
+
+# ifdef YYSTACK_ALLOC
+   /* Pacify GCC's `empty if-body' warning.  */
+#  define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (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 */
+#  endif
+# else
+#  define YYSTACK_ALLOC YYMALLOC
+#  define YYSTACK_FREE YYFREE
+#  ifndef YYSTACK_ALLOC_MAXIMUM
+#   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
+#  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
+#  endif
+#  ifndef YYMALLOC
+#   define YYMALLOC malloc
+#   if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+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)
+void free (void *); /* INFRINGES ON USER NAME SPACE */
+#   endif
+#  endif
+# endif
+#endif /* ! defined yyoverflow || YYERROR_VERBOSE */
+
+
+#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;
+  YYSTYPE yyvs;
+  };
 
-static const short yydefgoto[] = {    71,
-   170,   171,   172,   173,   212,   229,    83,    84,     9,    33,
-    34,    40,    46,    94,   346,   281,   416,   349,   524,   396,
-   312,   501,   248,   313,    72,    85,   190,   180,   191,   192,
-   119,   236,   385,   237,    35,   563,    10,    11,    14,    13,
-   176,   200,   201,    57,   107,    19,    55,   111,    74,   471,
-   373,   374,    95,   183,    47,   102,    48,    41,   434,   386,
-    75,   388,   318,    49,    98,    99,   275,   538,   185,   331,
-   506,   356,   276,   277,   278,   279
+/* The size of the maximum gap between one aligned stack and the next.  */
+# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
+
+/* 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)) \
+      + YYSTACK_GAP_MAXIMUM)
+
+/* Copy COUNT objects from FROM to TO.  The source and destination do
+   not overlap.  */
+# ifndef YYCOPY
+#  if defined __GNUC__ && 1 < __GNUC__
+#   define YYCOPY(To, From, Count) \
+      __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
+#  else
+#   define YYCOPY(To, From, Count)		\
+      do					\
+	{					\
+	  YYSIZE_T yyi;				\
+	  for (yyi = 0; yyi < (Count); yyi++)	\
+	    (To)[yyi] = (From)[yyi];		\
+	}					\
+      while (YYID (0))
+#  endif
+# endif
+
+/* Relocate STACK from its old location to the new one.  The
+   local variables YYSIZE and YYSTACKSIZE give the old and new number of
+   elements in the stack, and YYPTR gives the new location of the
+   stack.  Advance YYPTR to a properly aligned location for the next
+   stack.  */
+# define YYSTACK_RELOCATE(Stack)					\
+    do									\
+      {									\
+	YYSIZE_T yynewbytes;						\
+	YYCOPY (&yyptr->Stack, Stack, yysize);				\
+	Stack = &yyptr->Stack;						\
+	yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
+	yyptr += yynewbytes / sizeof (*yyptr);				\
+      }									\
+    while (YYID (0))
+
+#endif
+
+/* YYFINAL -- State number of the termination state.  */
+#define YYFINAL  36
+/* YYLAST -- Last index in YYTABLE.  */
+#define YYLAST   1365
+
+/* YYNTOKENS -- Number of terminals.  */
+#define YYNTOKENS  148
+/* YYNNTS -- Number of nonterminals.  */
+#define YYNNTS  79
+/* YYNRULES -- Number of rules.  */
+#define YYNRULES  286
+/* YYNRULES -- Number of states.  */
+#define YYNSTATES  571
+
+/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
+#define YYUNDEFTOK  2
+#define YYMAXUTOK   388
+
+#define YYTRANSLATE(YYX)						\
+  ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
+
+/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
+static const yytype_uint8 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,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+     143,   134,   144,     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,     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,
+       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,     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,     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,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
+       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
+      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
+      25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
+      35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
+      45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
+      55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
+      65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
+      75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
+      85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
+      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
 };
 
-static const short yypact[] = {    25,
--32768,-32768,-32768,-32768,-32768,    41,   -96,    30,   537,    95,
--32768,   -80,    58,   134,   -54,   -41,   -24,   -21,-32768,   -15,
-   110,   349,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,-32768,   114,   114,   964,-32768,-32768,-32768,-32768,   176,
--32768,-32768,-32768,-32768,-32768,   176,   151,-32768,    -2,   195,
-   103,   210,   200,   206,-32768,-32768,-32768,-32768,-32768,   121,
--32768,-32768,-32768,-32768,-32768,-32768,   257,   258,     4,    22,
--32768,-32768,    -4,-32768,-32768,   964,  1217,   121,   183,   222,
-   256,   259,   224,   262,   596,-32768,   260,-32768,-32768,-32768,
--32768,-32768,-32768,  1230,-32768,    -7,-32768,-32768,   147,-32768,
--32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
-    -9,   518,-32768,   126,   131,   174,-32768,    -4,   -77,-32768,
-   518,-32768,    -4,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,-32768,-32768,   283,   917,   135,-32768,-32768,-32768,-32768,
--32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,   136,-32768,
--32768,-32768,   137,   140,   141,   822,  1244,   677,   264,   146,
-   148,   149,   152,-32768,-32768,   150,-32768,   121,    -4,   147,
--32768,-32768,-32768,  1324,-32768,   270,-32768,-32768,    -4,-32768,
-   156,   153,  1217,  1217,   154,   -71,  1217,-32768,   157,   150,
-   150,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,   155,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,   159,   964,
-   964,   964,   964,   964,-32768,-32768,    -5,   737,   -89,-32768,
-   -62,-32768,   964,   964,   964,   964,    17,-32768,   161,-32768,
--32768,   242,  1278,   105,   288,   176,-32768,-32768,   283,   917,
-  1217,  1217,  1217,  1217,  1217,  1217,  1217,  1217,  1217,  1217,
-  1217,  1217,  1217,  1217,-32768,   176,-32768,   122,-32768,-32768,
-   143,  1134,-32768,    12,   -27,-32768,   158,    -4,-32768,-32768,
--32768,   964,   964,-32768,   166,   171,   172,   173,   964,-32768,
-   165,   596,   -52,-32768,-32768,   175,   178,   284,   180,   299,
-   318,-32768,   150,  1177,-32768,   121,   776,-32768,   915,   915,
--32768,   915,  1230,  1217,  1217,    20,    66,-32768,   776,    54,
-   190,   191,   193,   196,   198,   203,   776,   776,   308,   208,
-  1230,  1217,  1217,-32768,-32768,-32768,-32768,-32768,   -42,-32768,
--32768,-32768,   -42,   214,   215,   -11,   964,   964,   964,   964,
--32768,-32768,   201,   964,   964,  1217,   964,-32768,-32768,-32768,
--32768,    -4,   216,   213,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,-32768,   296,   964,-32768,-32768,-32768,-32768,   219,-32768,
-   220,   915,   776,   776,    28,-32768,    31,-32768,-32768,   915,
-   218,  1217,  1217,  1217,  1217,  1217,   230,   232,  1217,  1217,
-   915,   776,   244,-32768,-32768,-32768,   964,   964,  1217,-32768,
-   245,   248,   246,   253,-32768,   252,   254,    40,   261,     5,
-  1190,-32768,-32768,   377,   -45,   382,   383,   263,   271,   272,
-   915,   399,   915,   273,   274,   915,   277,    -4,-32768,   278,
-   279,   915,   915,    -4,-32768,   280,-32768,  1217,   276,   281,
--32768,   964,-32768,   964,   964,-32768,-32768,-32768,-32768,-32768,
--32768,-32768,    -4,   -10,   282,-32768,   915,   915,  1217,   915,
-   915,   289,-32768,   289,   915,   292,  1217,  1217,  1217,-32768,
--32768,  1217,   776,-32768,-32768,   290,   291,   293,     5,-32768,
-   365,   400,   301,   294,   776,     0,-32768,-32768,   372,-32768,
--32768,   295,   915,-32768,-32768,-32768,    61,-32768,-32768,-32768,
--32768,-32768,   425,-32768,-32768,   430,    -1,-32768,  1217,-32768,
--32768,   298,-32768,-32768,   915,-32768,  1043,     3,   143,   776,
-    -6,-32768,   -42,-32768,   311,-32768,  1043,-32768,   432,   433,
-   314,   143,   915,   915,   435,   384,-32768,   915,   437,-32768,
-   915,-32768,   453,   455,-32768
+#if YYDEBUG
+/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
+   YYRHS.  */
+static const yytype_uint16 yyprhs[] =
+{
+       0,     0,     3,     5,     7,     9,    11,    13,    15,    17,
+      19,    21,    23,    25,    27,    29,    31,    33,    35,    37,
+      39,    41,    43,    45,    47,    49,    51,    53,    55,    57,
+      59,    61,    63,    65,    67,    69,    71,    73,    75,    77,
+      79,    81,    83,    85,    87,    89,    91,    93,    95,    97,
+      99,   101,   103,   105,   107,   109,   111,   113,   115,   117,
+     119,   122,   123,   125,   127,   129,   131,   133,   135,   137,
+     139,   140,   142,   143,   145,   147,   148,   150,   152,   154,
+     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
 };
 
-static const short yypgoto[] = {-32768,
-   275,   285,   287,   297,   197,   202,  -252,-32768,   359,-32768,
--32768,-32768,-32768,  -230,  -330,  -370,-32768,  -277,-32768,  -323,
-     2,-32768,  -184,-32768,-32768,   -22,   181,  -294,-32768,   343,
-   352,   -25,   -78,  -162,   225,-32768,-32768,   462,-32768,-32768,
--32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,     1,   -26,
--32768,-32768,   428,-32768,-32768,-32768,-32768,-32768,-32768,  -463,
-     8,   104,  -209,-32768,   426,-32768,-32768,-32768,-32768,-32768,
-   -14,    78,-32768,-32768,-32768,-32768
+/* YYRHS -- A `-1'-separated list of the rules' RHS.  */
+static const yytype_int16 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
 };
 
+/* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
+static const yytype_uint16 yyrline[] =
+{
+       0,  1031,  1031,  1032,  1042,  1042,  1042,  1042,  1042,  1042,
+    1042,  1042,  1042,  1043,  1043,  1043,  1044,  1044,  1044,  1044,
+    1044,  1044,  1045,  1045,  1045,  1045,  1045,  1045,  1046,  1046,
+    1046,  1048,  1048,  1049,  1049,  1050,  1050,  1051,  1051,  1052,
+    1052,  1056,  1056,  1057,  1057,  1058,  1058,  1059,  1059,  1060,
+    1060,  1061,  1061,  1062,  1062,  1063,  1064,  1069,  1070,  1070,
+    1073,  1077,  1083,  1084,  1085,  1086,  1087,  1091,  1092,  1093,
+    1097,  1098,  1102,  1103,  1104,  1108,  1109,  1110,  1111,  1112,
+    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
+};
+#endif
 
-#define	YYLAST		1454
+#if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
+/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
+   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",
+  "INSERTELEMENT", "SHUFFLEVECTOR", "NORETURN", "DEFAULT", "HIDDEN", "'='",
+  "','", "'*'", "'\\\\'", "'('", "')'", "'['", "'x'", "']'", "'<'", "'>'",
+  "'{'", "'}'", "'c'", "$accept", "INTVAL", "ArithmeticOps", "LogicalOps",
+  "CastOps", "ShiftOps", "IPredicates", "FPredicates", "IntType", "FPType",
+  "OptAssign", "GVInternalLinkage", "GVExternalLinkage",
+  "GVVisibilityStyle", "FunctionDeclareLinkage", "FunctionDefineLinkage",
+  "OptCallingConv", "ParamAttr", "OptParamAttrs", "FuncAttr",
+  "OptFuncAttrs", "OptAlign", "OptCAlign", "SectionString", "OptSection",
+  "GlobalVarAttributes", "GlobalVarAttribute", "PrimType", "Types",
+  "ArgType", "ResultTypes", "ArgTypeList", "ArgTypeListI", "TypeListI",
+  "ConstVal", "ConstExpr", "ConstVector", "GlobalType", "Module",
+  "DefinitionList", "Definition", "@1", "@2", "@3", "@4", "@5", "AsmBlock",
+  "BigOrLittle", "TargetDefinition", "LibrariesDefinition", "LibList",
+  "Name", "OptName", "ArgListH", "ArgList", "FunctionHeaderH", "BEGIN",
+  "FunctionHeader", "END", "Function", "FunctionProto", "OptSideEffect",
+  "ConstValueRef", "SymbolicValueRef", "ValueRef", "ResolvedVal",
+  "BasicBlockList", "BasicBlock", "InstructionList", "BBTerminatorInst",
+  "JumpTable", "Inst", "PHIList", "ValueRefList", "IndexList",
+  "OptTailCall", "InstVal", "OptVolatile", "MemoryInst", 0
+};
+#endif
 
+# ifdef YYPRINT
+/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
+   token YYLEX-NUM.  */
+static const yytype_uint16 yytoknum[] =
+{
+       0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
+     265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
+     275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
+     285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
+     295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
+     305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
+     315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
+     325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
+     335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
+     345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
+     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
+};
+# endif
 
-static const short yytable[] = {    73,
-    12,   430,   322,   398,   239,   241,   174,   115,   321,    86,
-    12,   353,   321,    97,   181,   290,   291,   310,   415,     1,
-   100,     2,   415,   549,  -167,   323,    58,    59,   392,    78,
-    61,    62,    63,    64,    65,    20,     1,   441,     2,     1,
-   443,     2,     3,   299,   310,   341,   411,   118,     4,     5,
-   122,    37,   304,   328,   123,   197,   332,   333,   334,   335,
-   336,   197,    66,   339,   340,   311,   198,     6,   344,   345,
-   299,   179,   287,   545,     7,   303,   442,    50,     8,   442,
-   299,   305,    21,   551,    15,    16,    17,   299,   414,   189,
-    51,   363,   175,   118,  -166,    38,   476,    39,   189,    12,
-   344,   345,   499,    18,   344,   345,   120,    52,   121,     1,
-    53,     2,     3,   319,   351,   344,   345,   320,     4,     5,
-   414,   419,    54,   186,   414,   420,    56,   299,   370,   120,
-   187,   121,   529,   413,   300,   182,   530,     6,   536,    23,
-    24,   101,   546,   415,     7,   120,   116,   121,     8,   105,
-   106,   350,   395,   120,   474,   121,    67,   539,   510,    68,
-   511,     1,    69,     2,    70,   117,    97,    42,    43,    44,
-   284,   285,    45,   120,   288,   121,   468,   552,    58,    59,
-   249,    78,    61,    62,    63,    64,    65,   120,     1,   121,
-     2,   400,   447,   529,   449,   450,   451,   533,   397,   120,
-   455,   121,   124,   125,   294,   295,   296,   297,   298,   461,
-   415,   104,   415,   108,    66,   302,   109,   306,   307,   308,
-   309,   435,   110,   174,   -56,   -56,   126,   127,   342,   343,
-   317,    87,    88,    89,    90,    91,    92,    93,   326,   327,
-   317,   329,   330,   317,   317,   317,   317,   317,   337,   338,
-   317,   317,   541,   344,   345,   543,   112,    76,    77,   189,
-   113,   114,   -57,   177,   193,   -58,   354,   355,   128,   194,
-   230,   231,   232,   361,   537,   233,   234,   514,   515,   516,
-   242,   243,   247,   244,   245,   547,   280,   246,   282,   283,
-   292,   372,   315,   289,   293,   286,   314,   321,   357,   352,
-   179,   393,   394,   358,   359,   360,   362,   364,    67,   175,
-   365,    68,   367,   366,    69,   368,    70,   195,   179,   412,
-   317,   369,   401,   402,   387,   403,   387,   387,   404,   387,
-   405,   421,   422,   423,   424,   406,   387,   409,   426,   427,
-   410,   429,   425,   428,   387,   387,   417,   418,   431,   432,
-   433,   436,   437,    58,    59,   446,    60,    61,    62,    63,
-    64,    65,   452,     1,   453,     2,   202,   203,   204,   205,
-   206,   207,   208,   209,   210,   211,   458,   462,   464,   317,
-   448,   317,   317,   317,   463,   465,   454,   317,   466,    66,
-   467,   459,   460,   475,   477,   478,   317,   469,   479,   387,
-   387,   387,   483,   480,   481,   419,   485,   387,   473,   487,
-   488,   489,   494,   523,   502,   492,   525,   495,   387,   387,
-   442,   509,   389,   390,   513,   391,   519,   520,   534,   521,
-   470,   527,   399,   526,   531,   493,   496,   542,   497,   498,
-   407,   408,   535,   550,   553,   554,   555,   558,   387,   561,
-   387,   559,   564,   387,   565,   324,   505,   184,   271,   387,
-   387,   325,   348,   199,   317,   317,   317,   196,   272,   505,
-   273,    36,   522,    96,   103,   500,   444,   517,     0,     0,
-   274,     0,     0,    67,   387,   387,    68,   387,   387,    69,
-     0,    70,   387,     0,     0,   438,   439,   440,     0,   470,
-   387,     0,     0,   445,     0,     0,   540,     0,     0,     0,
-     0,     0,   387,     0,   456,   457,     0,     0,     0,     0,
-   387,     0,    58,    59,     0,    78,    61,    62,    63,    64,
-    65,     0,     1,     0,     2,     0,     0,     0,     0,     0,
-     0,     0,   387,     0,   482,     0,   484,   387,   188,   486,
-    22,     0,     0,     0,     0,   490,   491,     0,    66,     0,
-   387,   387,    23,    24,     0,   387,     0,     0,   387,     0,
-    25,    26,    27,    28,    29,    30,    31,     0,    32,     0,
-   503,   504,     0,   507,   508,     0,     0,     0,   512,     0,
-     0,     0,     0,     0,     0,     0,   518,     0,     0,     0,
-    58,    59,     0,     0,     0,     0,     0,     0,   528,     0,
-     1,     0,     2,     0,   129,     0,   532,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,   130,   131,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,   544,     0,
-     0,     0,     0,   548,     0,     0,     0,     0,     0,     0,
-     0,     0,    67,     0,     0,    68,   556,   557,    69,     0,
-    70,   560,     0,     0,   562,   132,   133,   134,   135,   136,
-   137,   138,   139,   140,   141,   142,   143,   144,   145,     0,
-     0,    58,    59,     0,    78,    79,    80,    81,    82,    65,
-     0,     1,     0,     2,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,   146,   147,   148,   149,   150,   151,
-   152,   153,   154,   155,   156,   157,   158,    66,   159,   160,
-   161,   162,     0,   163,   164,   165,     0,     0,     0,   120,
-     0,   121,     0,   166,     0,     0,   167,     0,   168,     0,
-   169,    58,    59,     0,    78,    79,    80,    81,    82,    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,   375,   376,
-    58,    59,   377,     0,     0,     0,     0,     0,     0,     0,
-     1,     0,     2,     0,   378,   379,   380,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,   381,   382,     0,
-     0,    67,     0,     0,    68,     0,     0,    69,     0,    70,
-   240,     0,     0,     0,     0,     0,    58,    59,   383,    78,
-    79,    80,    81,    82,    65,     0,     1,     0,     2,     0,
-     0,     0,     0,     0,     0,   132,   133,   134,   135,   136,
-   137,   138,   139,   140,   141,   142,   143,   144,   145,     0,
-     0,     0,    66,     0,     0,     0,     0,     0,     0,     0,
-     0,    67,     0,     0,    68,     0,     0,    69,     0,    70,
-   301,     0,     0,     0,   146,   147,   148,   149,   150,   151,
-   152,   153,   154,   155,   156,   157,   158,     0,   159,   160,
-   161,   162,     0,   163,   164,   165,     0,     0,     0,   120,
-     0,   121,     0,     0,     0,     0,   384,   375,   376,    58,
-    59,   377,     0,     0,     0,     0,     0,     0,     0,     1,
-     0,     2,     0,   378,   379,   380,   213,   214,     0,     0,
-     0,     0,     0,     0,     0,     0,   381,   382,     0,     0,
-     0,     0,     0,     0,     0,     0,    67,     0,     0,    68,
-     0,   235,    69,     0,    70,     0,     0,   383,    58,    59,
-     0,    78,    79,    80,    81,    82,    65,     0,     1,     0,
-     2,     0,     0,     0,   132,   133,   134,   135,   136,   137,
-   138,   139,   140,   141,   142,   143,   144,   145,     0,     0,
-     0,     0,     0,     0,    66,     0,   215,   216,   217,   218,
-   219,   220,   221,   222,   223,   224,   225,   226,   227,   228,
-     0,     0,     0,   146,   147,   148,   149,   150,   151,   152,
-   153,   154,   155,   156,   157,   158,     0,   159,   160,   161,
-   162,     0,   163,   164,   165,   375,   376,     0,     0,   377,
-     0,     0,     0,     0,     0,   384,     0,     0,     0,     0,
-     0,   378,   379,   380,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,   381,   382,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,   383,     0,     0,    67,     0,
-     0,    68,     0,     0,    69,     0,    70,     0,     0,     0,
-     0,     0,   132,   133,   134,   135,   136,   137,   138,   139,
-   140,   141,   142,   143,   144,   145,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,    58,    59,
-     0,    78,    61,    62,    63,    64,    65,     0,     1,     0,
-     2,   146,   147,   148,   149,   150,   151,   152,   153,   154,
-   155,   156,   157,   158,   347,   159,   160,   161,   162,     0,
-   163,   164,   165,     0,    66,     0,     0,     0,     0,     0,
-     0,    58,    59,   384,    78,    61,    62,    63,    64,    65,
-     0,     1,     0,     2,    58,    59,     0,    78,    61,    62,
-    63,    64,    65,     0,     1,     0,     2,   371,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,    66,     0,     0,
-   472,    58,    59,     0,    78,    61,    62,    63,    64,    65,
-    66,     1,     0,     2,    58,    59,     0,   178,    61,    62,
-    63,    64,    65,     0,     1,     0,     2,     0,    58,    59,
-     0,    78,    79,    80,    81,    82,    65,    66,     1,     0,
-     2,     0,     0,     0,     0,     0,     0,     0,    67,     0,
-    66,    68,     0,     0,    69,     0,    70,     0,     0,     0,
-     0,     0,    58,    59,    66,   316,    61,    62,    63,    64,
-    65,     0,     1,     0,     2,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,    67,     0,     0,    68,     0,     0,    69,    66,    70,
-     0,     0,     0,     0,    67,     0,     0,    68,     0,     0,
-    69,     0,    70,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,    67,   250,     0,    68,     0,     0,    69,     0,    70,
-     0,     0,     0,     0,    67,     0,     0,    68,     0,     0,
-    69,     0,    70,     0,   251,   252,     0,     0,    67,     0,
-     0,    68,     0,     0,    69,     0,   238,   253,   254,   255,
-   256,   257,   258,   132,   133,   134,   135,   136,   137,   138,
-   139,   140,   141,   142,   143,   259,   260,     0,     0,     0,
-     0,     0,    67,     0,     0,    68,     0,     0,    69,     0,
-    70,     0,     0,     0,     0,     0,     0,   261,   262,   263,
-     0,     0,   264,   147,   148,   149,   150,   151,   152,   153,
-   154,   155,   156,   157,   158,   265,   266,   160,   161,   162,
-   267,   268,   269,   270
+/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
+static const yytype_uint8 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,
+     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
 };
 
-static const short yycheck[] = {    22,
-     0,   372,   255,   327,   167,   168,    85,     4,    10,    35,
-    10,   289,    10,    16,    22,   200,   201,    28,   349,    15,
-    23,    17,   353,    30,     0,   256,     5,     6,   323,     8,
-     9,    10,    11,    12,    13,   132,    15,    10,    17,    15,
-    10,    17,    18,   133,    28,   276,   341,    70,    24,    25,
-    76,   132,   142,   263,    77,   133,   266,   267,   268,   269,
-   270,   133,    41,   273,   274,    49,   144,    43,   111,   112,
-   133,    94,   144,   537,    50,   238,    49,   132,    54,    49,
-   133,   144,    53,   547,    44,    45,    46,   133,   131,   112,
-   132,   144,    85,   116,     0,    38,   142,    40,   121,    99,
-   111,   112,   473,    63,   111,   112,   134,   132,   136,    15,
-   132,    17,    18,     9,   142,   111,   112,    13,    24,    25,
-   131,   133,   138,   133,   131,   137,    17,   133,   313,   134,
-   140,   136,   133,   343,   140,   143,   137,    43,   140,    26,
-    27,   144,   140,   474,    50,   134,   143,   136,    54,    47,
-    48,   140,   133,   134,   432,   136,   135,   528,   482,   138,
-   484,    15,   141,    17,   143,   144,    16,    34,    35,    36,
-   193,   194,    39,   134,   197,   136,   137,   548,     5,     6,
-   180,     8,     9,    10,    11,    12,    13,   134,    15,   136,
-    17,   138,   402,   133,   404,   405,   406,   137,   133,   134,
-   410,   136,    20,    21,   230,   231,   232,   233,   234,   419,
-   541,    17,   543,     4,    41,   238,    17,   243,   244,   245,
-   246,   384,    17,   302,     3,     4,     3,     4,   107,   108,
-   253,    56,    57,    58,    59,    60,    61,    62,   261,   262,
-   263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
-   273,   274,   530,   111,   112,   533,   136,    33,    34,   282,
-     4,     4,     7,     4,   139,     7,   292,   293,     7,   139,
-   136,   136,   136,   299,   527,   136,   136,   487,   488,   489,
-    17,   136,   133,   136,   136,   538,    17,   136,   133,   137,
-   136,   314,    51,   137,   136,   142,   136,    10,   133,   142,
-   323,   324,   325,   133,   133,   133,   142,   133,   135,   302,
-   133,   138,   133,    30,   141,    17,   143,   144,   341,   342,
-   343,     4,   133,   133,   317,   133,   319,   320,   133,   322,
-   133,   357,   358,   359,   360,   133,   329,    30,   364,   365,
-   133,   367,   142,   366,   337,   338,   133,   133,   133,   137,
-    55,   133,   133,     5,     6,   138,     8,     9,    10,    11,
-    12,    13,   133,    15,   133,    17,    84,    85,    86,    87,
-    88,    89,    90,    91,    92,    93,   133,   133,   133,   402,
-   403,   404,   405,   406,   137,   133,   409,   410,   137,    41,
-   137,   417,   418,    17,    13,    13,   419,   137,   136,   392,
-   393,   394,     4,   133,   133,   133,   133,   400,   431,   133,
-   133,   133,   137,    49,   133,   136,    17,   137,   411,   412,
-    49,   133,   319,   320,   133,   322,   137,   137,     4,   137,
-   430,   138,   329,   133,   140,   458,   462,   140,   464,   465,
-   337,   338,    13,   133,    13,    13,   133,    13,   441,    13,
-   443,    68,     0,   446,     0,   259,   479,    99,   184,   452,
-   453,   260,   282,   121,   487,   488,   489,   116,   184,   492,
-   184,    10,   499,    46,    49,   474,   399,   492,    -1,    -1,
-   184,    -1,    -1,   135,   477,   478,   138,   480,   481,   141,
-    -1,   143,   485,    -1,    -1,   392,   393,   394,    -1,   499,
-   493,    -1,    -1,   400,    -1,    -1,   529,    -1,    -1,    -1,
-    -1,    -1,   505,    -1,   411,   412,    -1,    -1,    -1,    -1,
-   513,    -1,     5,     6,    -1,     8,     9,    10,    11,    12,
-    13,    -1,    15,    -1,    17,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,   535,    -1,   441,    -1,   443,   540,    31,   446,
-    14,    -1,    -1,    -1,    -1,   452,   453,    -1,    41,    -1,
-   553,   554,    26,    27,    -1,   558,    -1,    -1,   561,    -1,
-    34,    35,    36,    37,    38,    39,    40,    -1,    42,    -1,
-   477,   478,    -1,   480,   481,    -1,    -1,    -1,   485,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,   493,    -1,    -1,    -1,
-     5,     6,    -1,    -1,    -1,    -1,    -1,    -1,   505,    -1,
-    15,    -1,    17,    -1,    19,    -1,   513,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    32,    33,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   535,    -1,
-    -1,    -1,    -1,   540,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,   135,    -1,    -1,   138,   553,   554,   141,    -1,
-   143,   558,    -1,    -1,   561,    70,    71,    72,    73,    74,
-    75,    76,    77,    78,    79,    80,    81,    82,    83,    -1,
-    -1,     5,     6,    -1,     8,     9,    10,    11,    12,    13,
-    -1,    15,    -1,    17,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,   109,   110,   111,   112,   113,   114,
-   115,   116,   117,   118,   119,   120,   121,    41,   123,   124,
-   125,   126,    -1,   128,   129,   130,    -1,    -1,    -1,   134,
-    -1,   136,    -1,   138,    -1,    -1,   141,    -1,   143,    -1,
-   145,     5,     6,    -1,     8,     9,    10,    11,    12,    13,
-    -1,    15,    -1,    17,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    41,     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,   135,    -1,    -1,   138,    -1,    -1,   141,    -1,   143,
-   144,    -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,   135,    -1,    -1,   138,    -1,    -1,   141,    -1,   143,
-   144,    -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,    -1,    -1,    -1,   134,
-    -1,   136,    -1,    -1,    -1,    -1,   141,     3,     4,     5,
-     6,     7,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    15,
-    -1,    17,    -1,    19,    20,    21,    20,    21,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    32,    33,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,   135,    -1,    -1,   138,
-    -1,   140,   141,    -1,   143,    -1,    -1,    53,     5,     6,
-    -1,     8,     9,    10,    11,    12,    13,    -1,    15,    -1,
-    17,    -1,    -1,    -1,    70,    71,    72,    73,    74,    75,
-    76,    77,    78,    79,    80,    81,    82,    83,    -1,    -1,
-    -1,    -1,    -1,    -1,    41,    -1,    90,    91,    92,    93,
-    94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
-    -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,   141,    -1,    -1,    -1,    -1,
-    -1,    19,    20,    21,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    32,    33,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    53,    -1,    -1,   135,    -1,
-    -1,   138,    -1,    -1,   141,    -1,   143,    -1,    -1,    -1,
-    -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,    -1,    -1,    -1,    -1,
-    -1,     5,     6,   141,     8,     9,    10,    11,    12,    13,
-    -1,    15,    -1,    17,     5,     6,    -1,     8,     9,    10,
-    11,    12,    13,    -1,    15,    -1,    17,    31,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    41,    -1,    -1,
-    31,     5,     6,    -1,     8,     9,    10,    11,    12,    13,
-    41,    15,    -1,    17,     5,     6,    -1,     8,     9,    10,
-    11,    12,    13,    -1,    15,    -1,    17,    -1,     5,     6,
-    -1,     8,     9,    10,    11,    12,    13,    41,    15,    -1,
-    17,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   135,    -1,
-    41,   138,    -1,    -1,   141,    -1,   143,    -1,    -1,    -1,
-    -1,    -1,     5,     6,    41,     8,     9,    10,    11,    12,
-    13,    -1,    15,    -1,    17,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,   135,    -1,    -1,   138,    -1,    -1,   141,    41,   143,
-    -1,    -1,    -1,    -1,   135,    -1,    -1,   138,    -1,    -1,
-   141,    -1,   143,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,   135,    29,    -1,   138,    -1,    -1,   141,    -1,   143,
-    -1,    -1,    -1,    -1,   135,    -1,    -1,   138,    -1,    -1,
-   141,    -1,   143,    -1,    51,    52,    -1,    -1,   135,    -1,
-    -1,   138,    -1,    -1,   141,    -1,   143,    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,   135,    -1,    -1,   138,    -1,    -1,   141,    -1,
-   143,    -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
+/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
+static const yytype_uint8 yyr2[] =
+{
+       0,     2,     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,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       2,     0,     1,     1,     1,     1,     1,     1,     1,     1,
+       0,     1,     0,     1,     1,     0,     1,     1,     1,     1,
+       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
 };
-/* -*-C-*-  Note some compilers choke on comments on `#line' lines.  */
-#line 3 "/usr/share/bison.simple"
-/* This file comes from bison-1.28.  */
 
-/* Skeleton output parser for bison,
-   Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
+/* 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[] =
+{
+      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,
+       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
+};
 
-   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
-   the Free Software Foundation; either version 2, or (at your option)
-   any later version.
+/* YYDEFGOTO[NTERM-NUM].  */
+static const yytype_int16 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
+};
 
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
+/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
+   STATE-NUM.  */
+#define YYPACT_NINF -425
+static const yytype_int16 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
+};
 
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place - Suite 330,
-   Boston, MA 02111-1307, USA.  */
+/* YYPGOTO[NTERM-NUM].  */
+static const yytype_int16 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
+};
 
-/* 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.  */
-
-/* This is the parser code that is written into each bison parser
-  when the %semantic_parser declaration is not specified in the grammar.
-  It was written by Richard Stallman by simplifying the hairy parser
-  used when %semantic_parser is specified.  */
-
-#ifndef YYSTACK_USE_ALLOCA
-#ifdef alloca
-#define YYSTACK_USE_ALLOCA
-#else /* alloca not defined */
-#ifdef __GNUC__
-#define YYSTACK_USE_ALLOCA
-#define alloca __builtin_alloca
-#else /* not GNU C.  */
-#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi) || (defined (__sun) && defined (__i386))
-#define YYSTACK_USE_ALLOCA
-#include <alloca.h>
-#else /* not sparc */
-/* We think this test detects Watcom and Microsoft C.  */
-/* This used to test MSDOS, but that is a bad idea
-   since that symbol is in the user namespace.  */
-#if (defined (_MSDOS) || defined (_MSDOS_)) && !defined (__TURBOC__)
-#if 0 /* No need for malloc.h, which pollutes the namespace;
-	 instead, just don't use alloca.  */
-#include <malloc.h>
-#endif
-#else /* not MSDOS, or __TURBOC__ */
-#if defined(_AIX)
-/* I don't know what this was needed for, but it pollutes the namespace.
-   So I turned it off.   rms, 2 May 1997.  */
-/* #include <malloc.h>  */
- #pragma alloca
-#define YYSTACK_USE_ALLOCA
-#else /* not MSDOS, or __TURBOC__, or _AIX */
-#if 0
-#ifdef __hpux /* haible at ilog.fr says this works for HPUX 9.05 and up,
-		 and on HPUX 10.  Eventually we can turn this on.  */
-#define YYSTACK_USE_ALLOCA
-#define alloca __builtin_alloca
-#endif /* __hpux */
-#endif
-#endif /* not _AIX */
-#endif /* not MSDOS, or __TURBOC__ */
-#endif /* not sparc */
-#endif /* not GNU C */
-#endif /* alloca not defined */
-#endif /* YYSTACK_USE_ALLOCA not defined */
+/* 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[] =
+{
+      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,
+       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,
+       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,     0,     0,     0,     0,     0,     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
+};
 
-#ifdef YYSTACK_USE_ALLOCA
-#define YYSTACK_ALLOC alloca
-#else
-#define YYSTACK_ALLOC malloc
-#endif
+static const yytype_int16 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,
+      -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,    -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,    -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
+};
 
-/* Note: there must be only one dollar sign in this file.
-   It is replaced by the list of actions, each action
-   as one case of the switch.  */
+/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
+   symbol of state STATE-NUM.  */
+static const yytype_uint8 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
+};
 
 #define yyerrok		(yyerrstatus = 0)
 #define yyclearin	(yychar = YYEMPTY)
-#define YYEMPTY		-2
+#define YYEMPTY		(-2)
 #define YYEOF		0
+
 #define YYACCEPT	goto yyacceptlab
-#define YYABORT 	goto yyabortlab
-#define YYERROR		goto yyerrlab1
-/* Like YYERROR except do call yyerror.
-   This remains here temporarily to ease the
-   transition to the new meaning of YYERROR, for GCC.
+#define YYABORT		goto yyabortlab
+#define YYERROR		goto yyerrorlab
+
+
+/* Like YYERROR except do call yyerror.  This remains here temporarily
+   to ease the transition to the new meaning of YYERROR, for GCC.
    Once GCC version 2 has supplanted version 1, this can go.  */
+
 #define YYFAIL		goto yyerrlab
+
 #define YYRECOVERING()  (!!yyerrstatus)
-#define YYBACKUP(token, value) \
+
+#define YYBACKUP(Token, Value)					\
 do								\
   if (yychar == YYEMPTY && yylen == 1)				\
-    { yychar = (token), yylval = (value);			\
-      yychar1 = YYTRANSLATE (yychar);				\
-      YYPOPSTACK;						\
+    {								\
+      yychar = (Token);						\
+      yylval = (Value);						\
+      yytoken = YYTRANSLATE (yychar);				\
+      YYPOPSTACK (1);						\
       goto yybackup;						\
     }								\
   else								\
-    { yyerror ("syntax error: cannot back up"); YYERROR; }	\
-while (0)
+    {								\
+      yyerror (YY_("syntax error: cannot back up")); \
+      YYERROR;							\
+    }								\
+while (YYID (0))
+
 
 #define YYTERROR	1
 #define YYERRCODE	256
 
-#ifndef YYPURE
-#define YYLEX		yylex()
+
+/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
+   If N is 0, then set CURRENT to the empty location which ends
+   the previous symbol: RHS[0] (always defined).  */
+
+#define YYRHSLOC(Rhs, K) ((Rhs)[K])
+#ifndef YYLLOC_DEFAULT
+# define YYLLOC_DEFAULT(Current, Rhs, N)				\
+    do									\
+      if (YYID (N))                                                    \
+	{								\
+	  (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;	\
+	  (Current).first_column = YYRHSLOC (Rhs, 1).first_column;	\
+	  (Current).last_line    = YYRHSLOC (Rhs, N).last_line;		\
+	  (Current).last_column  = YYRHSLOC (Rhs, N).last_column;	\
+	}								\
+      else								\
+	{								\
+	  (Current).first_line   = (Current).last_line   =		\
+	    YYRHSLOC (Rhs, 0).last_line;				\
+	  (Current).first_column = (Current).last_column =		\
+	    YYRHSLOC (Rhs, 0).last_column;				\
+	}								\
+    while (YYID (0))
 #endif
 
-#ifdef YYPURE
-#ifdef YYLSP_NEEDED
-#ifdef YYLEX_PARAM
-#define YYLEX		yylex(&yylval, &yylloc, YYLEX_PARAM)
-#else
-#define YYLEX		yylex(&yylval, &yylloc)
+
+/* YY_LOCATION_PRINT -- Print the location on the stream.
+   This macro was not mandated originally: define only if we know
+   we won't break user code: when these are the locations we know.  */
+
+#ifndef YY_LOCATION_PRINT
+# 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)
+# else
+#  define YY_LOCATION_PRINT(File, Loc) ((void) 0)
+# endif
 #endif
-#else /* not YYLSP_NEEDED */
+
+
+/* YYLEX -- calling `yylex' with the right arguments.  */
+
 #ifdef YYLEX_PARAM
-#define YYLEX		yylex(&yylval, YYLEX_PARAM)
+# define YYLEX yylex (YYLEX_PARAM)
 #else
-#define YYLEX		yylex(&yylval)
+# define YYLEX yylex ()
 #endif
-#endif /* not YYLSP_NEEDED */
+
+/* Enable debugging if requested.  */
+#if YYDEBUG
+
+# ifndef YYFPRINTF
+#  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
+#  define YYFPRINTF fprintf
+# endif
+
+# define YYDPRINTF(Args)			\
+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;
+    }
+}
 
-/* If nonreentrant, generate the variables here */
 
-#ifndef YYPURE
+/*--------------------------------.
+| 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]);
+
+  yy_symbol_value_print (yyoutput, yytype, yyvaluep);
+  YYFPRINTF (yyoutput, ")");
+}
 
-int	yychar;			/*  the lookahead symbol		*/
-YYSTYPE	yylval;			/*  the semantic value of the		*/
-				/*  lookahead symbol			*/
+/*------------------------------------------------------------------.
+| yy_stack_print -- Print the state stack from its BOTTOM up to its |
+| TOP (included).                                                   |
+`------------------------------------------------------------------*/
 
-#ifdef YYLSP_NEEDED
-YYLTYPE yylloc;			/*  location data for the lookahead	*/
-				/*  symbol				*/
+#if (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+static void
+yy_stack_print (yytype_int16 *bottom, yytype_int16 *top)
+#else
+static void
+yy_stack_print (bottom, top)
+    yytype_int16 *bottom;
+    yytype_int16 *top;
 #endif
+{
+  YYFPRINTF (stderr, "Stack now");
+  for (; bottom <= top; ++bottom)
+    YYFPRINTF (stderr, " %d", *bottom);
+  YYFPRINTF (stderr, "\n");
+}
+
+# define YY_STACK_PRINT(Bottom, Top)				\
+do {								\
+  if (yydebug)							\
+    yy_stack_print ((Bottom), (Top));				\
+} while (YYID (0))
+
 
-int yynerrs;			/*  number of parse errors so far       */
-#endif  /* not YYPURE */
+/*------------------------------------------------.
+| Report that the YYRULE is going to be reduced.  |
+`------------------------------------------------*/
 
-#if YYDEBUG != 0
-int yydebug;			/*  nonzero means print parse trace	*/
-/* Since this is uninitialized, it does not stop multiple parsers
-   from coexisting.  */
+#if (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+static void
+yy_reduce_print (YYSTYPE *yyvsp, int yyrule)
+#else
+static void
+yy_reduce_print (yyvsp, yyrule)
+    YYSTYPE *yyvsp;
+    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");
+    }
+}
 
-/*  YYINITDEPTH indicates the initial size of the parser's stacks	*/
+# define YY_REDUCE_PRINT(Rule)		\
+do {					\
+  if (yydebug)				\
+    yy_reduce_print (yyvsp, Rule); \
+} while (YYID (0))
+
+/* Nonzero means print parse trace.  It is left uninitialized so that
+   multiple parsers can coexist.  */
+int yydebug;
+#else /* !YYDEBUG */
+# define YYDPRINTF(Args)
+# define YY_SYMBOL_PRINT(Title, Type, Value, Location)
+# define YY_STACK_PRINT(Bottom, Top)
+# define YY_REDUCE_PRINT(Rule)
+#endif /* !YYDEBUG */
 
+
+/* YYINITDEPTH -- initial size of the parser's stacks.  */
 #ifndef	YYINITDEPTH
-#define YYINITDEPTH 200
+# define YYINITDEPTH 200
 #endif
 
-/*  YYMAXDEPTH is the maximum size the stacks can grow to
-    (effective only if the built-in stack extension method is used).  */
+/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
+   if the built-in stack extension method is used).
 
-#if YYMAXDEPTH == 0
-#undef YYMAXDEPTH
-#endif
+   Do not make this value too large; the results are undefined if
+   YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
+   evaluated with infinite-precision integer arithmetic.  */
 
 #ifndef YYMAXDEPTH
-#define YYMAXDEPTH 10000
+# define YYMAXDEPTH 10000
 #endif
+
 
-/* Define __yy_memcpy.  Note that the size argument
-   should be passed with type unsigned int, because that is what the non-GCC
-   definitions require.  With GCC, __builtin_memcpy takes an arg
-   of type size_t, but it can handle unsigned int.  */
-
-#if __GNUC__ > 1		/* GNU C and GNU C++ define this.  */
-#define __yy_memcpy(TO,FROM,COUNT)	__builtin_memcpy(TO,FROM,COUNT)
-#else				/* not GNU C or C++ */
-#ifndef __cplusplus
 
-/* This is the most reliable way to avoid incompatibilities
-   in available built-in functions on various systems.  */
-static void
-__yy_memcpy (to, from, count)
-     char *to;
-     char *from;
-     unsigned int count;
+#if YYERROR_VERBOSE
+
+# ifndef yystrlen
+#  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
+yystrlen (const char *yystr)
+#else
+static YYSIZE_T
+yystrlen (yystr)
+    const char *yystr;
+#endif
+{
+  YYSIZE_T yylen;
+  for (yylen = 0; yystr[yylen]; yylen++)
+    continue;
+  return yylen;
+}
+#  endif
+# endif
+
+# ifndef yystpcpy
+#  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 *
+yystpcpy (char *yydest, const char *yysrc)
+#else
+static char *
+yystpcpy (yydest, yysrc)
+    char *yydest;
+    const char *yysrc;
+#endif
 {
-  register char *f = from;
-  register char *t = to;
-  register int i = count;
+  char *yyd = yydest;
+  const char *yys = yysrc;
 
-  while (i-- > 0)
-    *t++ = *f++;
+  while ((*yyd++ = *yys++) != '\0')
+    continue;
+
+  return yyd - 1;
 }
+#  endif
+# endif
 
-#else /* __cplusplus */
+# ifndef yytnamerr
+/* Copy to YYRES the contents of YYSTR after stripping away unnecessary
+   quotes and backslashes, so that it's suitable for yyerror.  The
+   heuristic is that double-quoting is unnecessary unless the string
+   contains an apostrophe, a comma, or backslash (other than
+   backslash-backslash).  YYSTR is taken from yytname.  If YYRES is
+   null, do not copy; instead, return the length of what the result
+   would have been.  */
+static YYSIZE_T
+yytnamerr (char *yyres, const char *yystr)
+{
+  if (*yystr == '"')
+    {
+      YYSIZE_T yyn = 0;
+      char const *yyp = yystr;
 
-/* This is the most reliable way to avoid incompatibilities
-   in available built-in functions on various systems.  */
-static void
-__yy_memcpy (char *to, char *from, unsigned int count)
+      for (;;)
+	switch (*++yyp)
+	  {
+	  case '\'':
+	  case ',':
+	    goto do_not_strip_quotes;
+
+	  case '\\':
+	    if (*++yyp != '\\')
+	      goto do_not_strip_quotes;
+	    /* Fall through.  */
+	  default:
+	    if (yyres)
+	      yyres[yyn] = *yyp;
+	    yyn++;
+	    break;
+
+	  case '"':
+	    if (yyres)
+	      yyres[yyn] = '\0';
+	    return yyn;
+	  }
+    do_not_strip_quotes: ;
+    }
+
+  if (! yyres)
+    return yystrlen (yystr);
+
+  return yystpcpy (yyres, yystr) - yyres;
+}
+# 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)
 {
-  register char *t = to;
-  register char *f = from;
-  register int i = count;
+  int yyn = yypact[yystate];
+
+  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);
+
+      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;
+	  }
+
+      yyf = YY_(yyformat);
+      yysize1 = yysize + yystrlen (yyf);
+      yysize_overflow |= (yysize1 < yysize);
+      yysize = yysize1;
+
+      if (yysize_overflow)
+	return YYSIZE_MAXIMUM;
 
-  while (i-- > 0)
-    *t++ = *f++;
+      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;
+    }
 }
+#endif /* YYERROR_VERBOSE */
+
 
+/*-----------------------------------------------.
+| Release the memory associated to this symbol.  |
+`-----------------------------------------------*/
+
+/*ARGSUSED*/
+#if (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+static void
+yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
+#else
+static void
+yydestruct (yymsg, yytype, yyvaluep)
+    const char *yymsg;
+    int yytype;
+    YYSTYPE *yyvaluep;
 #endif
-#endif
-
-#line 217 "/usr/share/bison.simple"
+{
+  YYUSE (yyvaluep);
 
-/* The user can define YYPARSE_PARAM as the name of an argument to be passed
-   into yyparse.  The argument should have type void *.
-   It should actually point to an object.
-   Grammar actions can access the variable by casting it
-   to the proper pointer type.  */
+  if (!yymsg)
+    yymsg = "Deleting";
+  YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
 
-#ifdef YYPARSE_PARAM
-#ifdef __cplusplus
-#define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
-#define YYPARSE_PARAM_DECL
-#else /* not __cplusplus */
-#define YYPARSE_PARAM_ARG YYPARSE_PARAM
-#define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
-#endif /* not __cplusplus */
-#else /* not YYPARSE_PARAM */
-#define YYPARSE_PARAM_ARG
-#define YYPARSE_PARAM_DECL
-#endif /* not YYPARSE_PARAM */
+  switch (yytype)
+    {
+
+      default:
+	break;
+    }
+}
+
+
+/* Prevent warnings from -Wmissing-prototypes.  */
 
-/* Prevent warning if -Wstrict-prototypes.  */
-#ifdef __GNUC__
 #ifdef YYPARSE_PARAM
-int yyparse (void *);
+#if defined __STDC__ || defined __cplusplus
+int yyparse (void *YYPARSE_PARAM);
 #else
-int yyparse (void);
+int yyparse ();
 #endif
+#else /* ! YYPARSE_PARAM */
+#if defined __STDC__ || defined __cplusplus
+int yyparse (void);
+#else
+int yyparse ();
 #endif
+#endif /* ! YYPARSE_PARAM */
+
 
-int
-yyparse(YYPARSE_PARAM_ARG)
-     YYPARSE_PARAM_DECL
-{
-  register int yystate;
-  register int yyn;
-  register short *yyssp;
-  register YYSTYPE *yyvsp;
-  int yyerrstatus;	/*  number of tokens to shift before error messages enabled */
-  int yychar1 = 0;		/*  lookahead token as an internal (translated) token number */
-
-  short	yyssa[YYINITDEPTH];	/*  the state stack			*/
-  YYSTYPE yyvsa[YYINITDEPTH];	/*  the semantic value stack		*/
-
-  short *yyss = yyssa;		/*  refer to the stacks thru separate pointers */
-  YYSTYPE *yyvs = yyvsa;	/*  to allow yyoverflow to reallocate them elsewhere */
-
-#ifdef YYLSP_NEEDED
-  YYLTYPE yylsa[YYINITDEPTH];	/*  the location stack			*/
-  YYLTYPE *yyls = yylsa;
-  YYLTYPE *yylsp;
 
-#define YYPOPSTACK   (yyvsp--, yyssp--, yylsp--)
+/* The look-ahead symbol.  */
+int yychar;
+
+/* The semantic value of the look-ahead symbol.  */
+YYSTYPE yylval;
+
+/* Number of syntax errors so far.  */
+int yynerrs;
+
+
+
+/*----------.
+| yyparse.  |
+`----------*/
+
+#ifdef YYPARSE_PARAM
+#if (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+int
+yyparse (void *YYPARSE_PARAM)
 #else
-#define YYPOPSTACK   (yyvsp--, yyssp--)
+int
+yyparse (YYPARSE_PARAM)
+    void *YYPARSE_PARAM;
 #endif
+#else /* ! YYPARSE_PARAM */
+#if (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+int
+yyparse (void)
+#else
+int
+yyparse ()
 
-  int yystacksize = YYINITDEPTH;
-  int yyfree_stacks = 0;
-
-#ifdef YYPURE
-  int yychar;
-  YYSTYPE yylval;
-  int yynerrs;
-#ifdef YYLSP_NEEDED
-  YYLTYPE yylloc;
 #endif
 #endif
+{
+  
+  int yystate;
+  int yyn;
+  int yyresult;
+  /* Number of tokens to shift before error messages enabled.  */
+  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
 
-  YYSTYPE yyval;		/*  the variable used to return		*/
-				/*  semantic values from the action	*/
-				/*  routines				*/
+  /* Three stacks and their tools:
+     `yyss': related to states,
+     `yyvs': related to semantic values,
+     `yyls': related to locations.
 
-  int yylen;
+     Refer to the stacks thru separate pointers, to allow yyoverflow
+     to reallocate them elsewhere.  */
+
+  /* The state stack.  */
+  yytype_int16 yyssa[YYINITDEPTH];
+  yytype_int16 *yyss = yyssa;
+  yytype_int16 *yyssp;
+
+  /* The semantic value stack.  */
+  YYSTYPE yyvsa[YYINITDEPTH];
+  YYSTYPE *yyvs = yyvsa;
+  YYSTYPE *yyvsp;
+
+
+
+#define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N))
+
+  YYSIZE_T yystacksize = YYINITDEPTH;
+
+  /* The variables used to return semantic value and location from the
+     action routines.  */
+  YYSTYPE yyval;
 
-#if YYDEBUG != 0
-  if (yydebug)
-    fprintf(stderr, "Starting parse\n");
-#endif
+
+  /* The number of symbols on the RHS of the reduced rule.
+     Keep to zero when no symbol should be popped.  */
+  int yylen = 0;
+
+  YYDPRINTF ((stderr, "Starting parse\n"));
 
   yystate = 0;
   yyerrstatus = 0;
@@ -2118,623 +3011,655 @@
      so that they stay on the same level as the state stack.
      The wasted elements are never initialized.  */
 
-  yyssp = yyss - 1;
+  yyssp = yyss;
   yyvsp = yyvs;
-#ifdef YYLSP_NEEDED
-  yylsp = yyls;
-#endif
 
-/* Push a new state, which is found in  yystate  .  */
-/* In all cases, when you get here, the value and location stacks
-   have just been pushed. so pushing a state here evens the stacks.  */
-yynewstate:
+  goto yysetstate;
 
-  *++yyssp = yystate;
+/*------------------------------------------------------------.
+| yynewstate -- Push a new state, which is found in yystate.  |
+`------------------------------------------------------------*/
+ 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.  */
+  yyssp++;
 
-  if (yyssp >= yyss + yystacksize - 1)
-    {
-      /* 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;
-      short *yyss1 = yyss;
-#ifdef YYLSP_NEEDED
-      YYLTYPE *yyls1 = yyls;
-#endif
+ yysetstate:
+  *yyssp = yystate;
 
+  if (yyss + yystacksize - 1 <= yyssp)
+    {
       /* Get the current used size of the three stacks, in elements.  */
-      int size = yyssp - yyss + 1;
+      YYSIZE_T yysize = yyssp - yyss + 1;
 
 #ifdef yyoverflow
-      /* Each stack pointer address is followed by the size of
-	 the data in use in that stack, in bytes.  */
-#ifdef YYLSP_NEEDED
-      /* This used to be a conditional around just the two extra args,
-	 but that might be undefined if yyoverflow is a macro.  */
-      yyoverflow("parser stack overflow",
-		 &yyss1, size * sizeof (*yyssp),
-		 &yyvs1, size * sizeof (*yyvsp),
-		 &yyls1, size * sizeof (*yylsp),
-		 &yystacksize);
-#else
-      yyoverflow("parser stack overflow",
-		 &yyss1, size * sizeof (*yyssp),
-		 &yyvs1, size * sizeof (*yyvsp),
-		 &yystacksize);
-#endif
+      {
+	/* 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;
+
+
+	/* Each stack pointer address is followed by the size of the
+	   data in use in that stack, in bytes.  This used to be a
+	   conditional around just the two extra args, but that might
+	   be undefined if yyoverflow is a macro.  */
+	yyoverflow (YY_("memory exhausted"),
+		    &yyss1, yysize * sizeof (*yyssp),
+		    &yyvs1, yysize * sizeof (*yyvsp),
 
-      yyss = yyss1; yyvs = yyvs1;
-#ifdef YYLSP_NEEDED
-      yyls = yyls1;
-#endif
+		    &yystacksize);
+
+	yyss = yyss1;
+	yyvs = yyvs1;
+      }
 #else /* no yyoverflow */
+# ifndef YYSTACK_RELOCATE
+      goto yyexhaustedlab;
+# else
       /* Extend the stack our own way.  */
-      if (yystacksize >= YYMAXDEPTH)
-	{
-	  yyerror("parser stack overflow");
-	  if (yyfree_stacks)
-	    {
-	      free (yyss);
-	      free (yyvs);
-#ifdef YYLSP_NEEDED
-	      free (yyls);
-#endif
-	    }
-	  return 2;
-	}
+      if (YYMAXDEPTH <= yystacksize)
+	goto yyexhaustedlab;
       yystacksize *= 2;
-      if (yystacksize > YYMAXDEPTH)
+      if (YYMAXDEPTH < yystacksize)
 	yystacksize = YYMAXDEPTH;
-#ifndef YYSTACK_USE_ALLOCA
-      yyfree_stacks = 1;
-#endif
-      yyss = (short *) YYSTACK_ALLOC (yystacksize * sizeof (*yyssp));
-      __yy_memcpy ((char *)yyss, (char *)yyss1,
-		   size * (unsigned int) sizeof (*yyssp));
-      yyvs = (YYSTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yyvsp));
-      __yy_memcpy ((char *)yyvs, (char *)yyvs1,
-		   size * (unsigned int) sizeof (*yyvsp));
-#ifdef YYLSP_NEEDED
-      yyls = (YYLTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yylsp));
-      __yy_memcpy ((char *)yyls, (char *)yyls1,
-		   size * (unsigned int) sizeof (*yylsp));
-#endif
+
+      {
+	yytype_int16 *yyss1 = yyss;
+	union yyalloc *yyptr =
+	  (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
+	if (! yyptr)
+	  goto yyexhaustedlab;
+	YYSTACK_RELOCATE (yyss);
+	YYSTACK_RELOCATE (yyvs);
+
+#  undef YYSTACK_RELOCATE
+	if (yyss1 != yyssa)
+	  YYSTACK_FREE (yyss1);
+      }
+# endif
 #endif /* no yyoverflow */
 
-      yyssp = yyss + size - 1;
-      yyvsp = yyvs + size - 1;
-#ifdef YYLSP_NEEDED
-      yylsp = yyls + size - 1;
-#endif
+      yyssp = yyss + yysize - 1;
+      yyvsp = yyvs + yysize - 1;
 
-#if YYDEBUG != 0
-      if (yydebug)
-	fprintf(stderr, "Stack size increased to %d\n", yystacksize);
-#endif
 
-      if (yyssp >= yyss + yystacksize - 1)
+      YYDPRINTF ((stderr, "Stack size increased to %lu\n",
+		  (unsigned long int) yystacksize));
+
+      if (yyss + yystacksize - 1 <= yyssp)
 	YYABORT;
     }
 
-#if YYDEBUG != 0
-  if (yydebug)
-    fprintf(stderr, "Entering state %d\n", yystate);
-#endif
+  YYDPRINTF ((stderr, "Entering state %d\n", yystate));
 
   goto yybackup;
- yybackup:
 
-/* Do appropriate processing given the current state.  */
-/* Read a lookahead token if we need one and don't already have one.  */
-/* yyresume: */
+/*-----------.
+| yybackup.  |
+`-----------*/
+yybackup:
 
-  /* First try to decide what to do without reference to lookahead token.  */
+  /* Do appropriate processing given the current state.  Read a
+     look-ahead token if we need one and don't already have one.  */
 
+  /* First try to decide what to do without reference to look-ahead token.  */
   yyn = yypact[yystate];
-  if (yyn == YYFLAG)
+  if (yyn == YYPACT_NINF)
     goto yydefault;
 
-  /* Not known => get a lookahead token if don't already have one.  */
-
-  /* yychar is either YYEMPTY or YYEOF
-     or a valid token in external form.  */
+  /* Not known => get a look-ahead token if don't already have one.  */
 
+  /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol.  */
   if (yychar == YYEMPTY)
     {
-#if YYDEBUG != 0
-      if (yydebug)
-	fprintf(stderr, "Reading a token: ");
-#endif
+      YYDPRINTF ((stderr, "Reading a token: "));
       yychar = YYLEX;
     }
 
-  /* Convert token to internal form (in yychar1) for indexing tables with */
-
-  if (yychar <= 0)		/* This means end of input. */
+  if (yychar <= YYEOF)
     {
-      yychar1 = 0;
-      yychar = YYEOF;		/* Don't call YYLEX any more */
-
-#if YYDEBUG != 0
-      if (yydebug)
-	fprintf(stderr, "Now at end of input.\n");
-#endif
+      yychar = yytoken = YYEOF;
+      YYDPRINTF ((stderr, "Now at end of input.\n"));
     }
   else
     {
-      yychar1 = YYTRANSLATE(yychar);
+      yytoken = YYTRANSLATE (yychar);
+      YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
+    }
 
-#if YYDEBUG != 0
-      if (yydebug)
-	{
-	  fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]);
-	  /* Give the individual parser a way to print the precise meaning
-	     of a token, for further debugging info.  */
-#ifdef YYPRINT
-	  YYPRINT (stderr, yychar, yylval);
-#endif
-	  fprintf (stderr, ")\n");
-	}
-#endif
-    }
-
-  yyn += yychar1;
-  if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
+  /* If the proper action on seeing token YYTOKEN is to reduce or to
+     detect an error, take that action.  */
+  yyn += yytoken;
+  if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
     goto yydefault;
-
   yyn = yytable[yyn];
-
-  /* yyn is what to do for this token type in this state.
-     Negative => reduce, -yyn is rule number.
-     Positive => shift, yyn is new state.
-       New state is final state => don't bother to shift,
-       just return success.
-     0, or most negative number => error.  */
-
-  if (yyn < 0)
+  if (yyn <= 0)
     {
-      if (yyn == YYFLAG)
+      if (yyn == 0 || yyn == YYTABLE_NINF)
 	goto yyerrlab;
       yyn = -yyn;
       goto yyreduce;
     }
-  else if (yyn == 0)
-    goto yyerrlab;
 
   if (yyn == YYFINAL)
     YYACCEPT;
 
-  /* Shift the lookahead token.  */
+  /* Count tokens shifted since error; after three, turn off error
+     status.  */
+  if (yyerrstatus)
+    yyerrstatus--;
 
-#if YYDEBUG != 0
-  if (yydebug)
-    fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]);
-#endif
+  /* Shift the look-ahead token.  */
+  YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
 
-  /* Discard the token being shifted unless it is eof.  */
+  /* Discard the shifted token unless it is eof.  */
   if (yychar != YYEOF)
     yychar = YYEMPTY;
 
+  yystate = yyn;
   *++yyvsp = yylval;
-#ifdef YYLSP_NEEDED
-  *++yylsp = yylloc;
-#endif
 
-  /* count tokens shifted since error; after three, turn off error status.  */
-  if (yyerrstatus) yyerrstatus--;
-
-  yystate = yyn;
   goto yynewstate;
 
-/* Do the default action for the current state.  */
-yydefault:
 
+/*-----------------------------------------------------------.
+| yydefault -- do the default action for the current state.  |
+`-----------------------------------------------------------*/
+yydefault:
   yyn = yydefact[yystate];
   if (yyn == 0)
     goto yyerrlab;
+  goto yyreduce;
+
 
-/* Do a reduction.  yyn is the number of a rule to reduce with.  */
+/*-----------------------------.
+| yyreduce -- Do a reduction.  |
+`-----------------------------*/
 yyreduce:
+  /* yyn is the number of a rule to reduce with.  */
   yylen = yyr2[yyn];
-  if (yylen > 0)
-    yyval = yyvsp[1-yylen]; /* implement default value of the action */
 
-#if YYDEBUG != 0
-  if (yydebug)
+  /* If YYLEN is nonzero, implement the default value of the action:
+     `$$ = $1'.
+
+     Otherwise, the following line sets YYVAL to garbage.
+     This behavior is undocumented and Bison
+     users should not rely upon it.  Assigning to YYVAL
+     unconditionally makes the parser a bit smaller, and it avoids a
+     GCC warning that YYVAL may be used uninitialized.  */
+  yyval = yyvsp[1-yylen];
+
+
+  YY_REDUCE_PRINT (yyn);
+  switch (yyn)
+    {
+        case 3:
+#line 1032 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
-      int i;
+  if ((yyvsp[(1) - (1)].UIntVal) > (uint32_t)INT32_MAX)     // Outside of my range!
+    GEN_ERROR("Value too large for type!");
+  (yyval.SIntVal) = (int32_t)(yyvsp[(1) - (1)].UIntVal);
+  CHECK_FOR_ERROR
+;}
+    break;
 
-      fprintf (stderr, "Reducing via rule %d (line %d), ",
-	       yyn, yyrline[yyn]);
+  case 31:
+#line 1048 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.IPredicate) = ICmpInst::ICMP_EQ; ;}
+    break;
 
-      /* Print the symbols being reduced, and their result.  */
-      for (i = yyprhs[yyn]; yyrhs[i] > 0; i++)
-	fprintf (stderr, "%s ", yytname[yyrhs[i]]);
-      fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]);
-    }
-#endif
+  case 32:
+#line 1048 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.IPredicate) = ICmpInst::ICMP_NE; ;}
+    break;
 
+  case 33:
+#line 1049 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.IPredicate) = ICmpInst::ICMP_SLT; ;}
+    break;
 
-  switch (yyn) {
+  case 34:
+#line 1049 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.IPredicate) = ICmpInst::ICMP_SGT; ;}
+    break;
 
-case 2:
-#line 1020 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
-  if (yyvsp[0].UIntVal > (uint32_t)INT32_MAX)     // Outside of my range!
-    GEN_ERROR("Value too large for type!");
-  yyval.SIntVal = (int32_t)yyvsp[0].UIntVal;
-  CHECK_FOR_ERROR
-;
-    break;}
-case 30:
-#line 1036 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{ yyval.IPredicate = ICmpInst::ICMP_EQ; ;
-    break;}
-case 31:
-#line 1036 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{ yyval.IPredicate = ICmpInst::ICMP_NE; ;
-    break;}
-case 32:
-#line 1037 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{ yyval.IPredicate = ICmpInst::ICMP_SLT; ;
-    break;}
-case 33:
-#line 1037 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{ yyval.IPredicate = ICmpInst::ICMP_SGT; ;
-    break;}
-case 34:
-#line 1038 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{ yyval.IPredicate = ICmpInst::ICMP_SLE; ;
-    break;}
-case 35:
-#line 1038 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{ yyval.IPredicate = ICmpInst::ICMP_SGE; ;
-    break;}
-case 36:
-#line 1039 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{ yyval.IPredicate = ICmpInst::ICMP_ULT; ;
-    break;}
-case 37:
-#line 1039 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{ yyval.IPredicate = ICmpInst::ICMP_UGT; ;
-    break;}
-case 38:
-#line 1040 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{ yyval.IPredicate = ICmpInst::ICMP_ULE; ;
-    break;}
-case 39:
-#line 1040 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{ yyval.IPredicate = ICmpInst::ICMP_UGE; ;
-    break;}
-case 40:
-#line 1044 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{ yyval.FPredicate = FCmpInst::FCMP_OEQ; ;
-    break;}
-case 41:
-#line 1044 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{ yyval.FPredicate = FCmpInst::FCMP_ONE; ;
-    break;}
-case 42:
-#line 1045 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{ yyval.FPredicate = FCmpInst::FCMP_OLT; ;
-    break;}
-case 43:
-#line 1045 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{ yyval.FPredicate = FCmpInst::FCMP_OGT; ;
-    break;}
-case 44:
-#line 1046 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{ yyval.FPredicate = FCmpInst::FCMP_OLE; ;
-    break;}
-case 45:
-#line 1046 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{ yyval.FPredicate = FCmpInst::FCMP_OGE; ;
-    break;}
-case 46:
-#line 1047 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{ yyval.FPredicate = FCmpInst::FCMP_ORD; ;
-    break;}
-case 47:
-#line 1047 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{ yyval.FPredicate = FCmpInst::FCMP_UNO; ;
-    break;}
-case 48:
-#line 1048 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{ yyval.FPredicate = FCmpInst::FCMP_UEQ; ;
-    break;}
-case 49:
-#line 1048 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{ yyval.FPredicate = FCmpInst::FCMP_UNE; ;
-    break;}
-case 50:
-#line 1049 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{ yyval.FPredicate = FCmpInst::FCMP_ULT; ;
-    break;}
-case 51:
-#line 1049 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{ yyval.FPredicate = FCmpInst::FCMP_UGT; ;
-    break;}
-case 52:
-#line 1050 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{ yyval.FPredicate = FCmpInst::FCMP_ULE; ;
-    break;}
-case 53:
-#line 1050 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{ yyval.FPredicate = FCmpInst::FCMP_UGE; ;
-    break;}
-case 54:
-#line 1051 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{ yyval.FPredicate = FCmpInst::FCMP_TRUE; ;
-    break;}
-case 55:
-#line 1052 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{ yyval.FPredicate = FCmpInst::FCMP_FALSE; ;
-    break;}
-case 59:
-#line 1061 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
-    yyval.StrVal = yyvsp[-1].StrVal;
+  case 35:
+#line 1050 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.IPredicate) = ICmpInst::ICMP_SLE; ;}
+    break;
+
+  case 36:
+#line 1050 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.IPredicate) = ICmpInst::ICMP_SGE; ;}
+    break;
+
+  case 37:
+#line 1051 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.IPredicate) = ICmpInst::ICMP_ULT; ;}
+    break;
+
+  case 38:
+#line 1051 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.IPredicate) = ICmpInst::ICMP_UGT; ;}
+    break;
+
+  case 39:
+#line 1052 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.IPredicate) = ICmpInst::ICMP_ULE; ;}
+    break;
+
+  case 40:
+#line 1052 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.IPredicate) = ICmpInst::ICMP_UGE; ;}
+    break;
+
+  case 41:
+#line 1056 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.FPredicate) = FCmpInst::FCMP_OEQ; ;}
+    break;
+
+  case 42:
+#line 1056 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.FPredicate) = FCmpInst::FCMP_ONE; ;}
+    break;
+
+  case 43:
+#line 1057 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.FPredicate) = FCmpInst::FCMP_OLT; ;}
+    break;
+
+  case 44:
+#line 1057 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.FPredicate) = FCmpInst::FCMP_OGT; ;}
+    break;
+
+  case 45:
+#line 1058 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.FPredicate) = FCmpInst::FCMP_OLE; ;}
+    break;
+
+  case 46:
+#line 1058 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.FPredicate) = FCmpInst::FCMP_OGE; ;}
+    break;
+
+  case 47:
+#line 1059 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.FPredicate) = FCmpInst::FCMP_ORD; ;}
+    break;
+
+  case 48:
+#line 1059 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.FPredicate) = FCmpInst::FCMP_UNO; ;}
+    break;
+
+  case 49:
+#line 1060 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.FPredicate) = FCmpInst::FCMP_UEQ; ;}
+    break;
+
+  case 50:
+#line 1060 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.FPredicate) = FCmpInst::FCMP_UNE; ;}
+    break;
+
+  case 51:
+#line 1061 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.FPredicate) = FCmpInst::FCMP_ULT; ;}
+    break;
+
+  case 52:
+#line 1061 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.FPredicate) = FCmpInst::FCMP_UGT; ;}
+    break;
+
+  case 53:
+#line 1062 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.FPredicate) = FCmpInst::FCMP_ULE; ;}
+    break;
+
+  case 54:
+#line 1062 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.FPredicate) = FCmpInst::FCMP_UGE; ;}
+    break;
+
+  case 55:
+#line 1063 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.FPredicate) = FCmpInst::FCMP_TRUE; ;}
+    break;
+
+  case 56:
+#line 1064 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.FPredicate) = FCmpInst::FCMP_FALSE; ;}
+    break;
+
+  case 60:
+#line 1073 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
+    (yyval.StrVal) = (yyvsp[(1) - (2)].StrVal);
     CHECK_FOR_ERROR
-  ;
-    break;}
-case 60:
-#line 1065 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
-    yyval.StrVal = 0;
+  ;}
+    break;
+
+  case 61:
+#line 1077 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
+    (yyval.StrVal) = 0;
     CHECK_FOR_ERROR
-  ;
-    break;}
-case 61:
-#line 1071 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{ yyval.Linkage = GlobalValue::InternalLinkage; ;
-    break;}
-case 62:
-#line 1072 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{ yyval.Linkage = GlobalValue::WeakLinkage; ;
-    break;}
-case 63:
-#line 1073 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{ yyval.Linkage = GlobalValue::LinkOnceLinkage; ;
-    break;}
-case 64:
-#line 1074 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{ yyval.Linkage = GlobalValue::AppendingLinkage; ;
-    break;}
-case 65:
-#line 1075 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{ yyval.Linkage = GlobalValue::DLLExportLinkage; ;
-    break;}
-case 66:
-#line 1079 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{ yyval.Linkage = GlobalValue::DLLImportLinkage; ;
-    break;}
-case 67:
-#line 1080 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{ yyval.Linkage = GlobalValue::ExternalWeakLinkage; ;
-    break;}
-case 68:
-#line 1081 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{ yyval.Linkage = GlobalValue::ExternalLinkage; ;
-    break;}
-case 69:
-#line 1085 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{ yyval.Linkage = GlobalValue::ExternalLinkage; ;
-    break;}
-case 70:
-#line 1086 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{ yyval.Linkage = GlobalValue::DLLImportLinkage; ;
-    break;}
-case 71:
-#line 1087 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{ yyval.Linkage = GlobalValue::ExternalWeakLinkage; ;
-    break;}
-case 72:
-#line 1091 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{ yyval.Linkage = GlobalValue::ExternalLinkage; ;
-    break;}
-case 73:
-#line 1092 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{ yyval.Linkage = GlobalValue::InternalLinkage; ;
-    break;}
-case 74:
-#line 1093 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{ yyval.Linkage = GlobalValue::LinkOnceLinkage; ;
-    break;}
-case 75:
-#line 1094 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{ yyval.Linkage = GlobalValue::WeakLinkage; ;
-    break;}
-case 76:
-#line 1095 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{ yyval.Linkage = GlobalValue::DLLExportLinkage; ;
-    break;}
-case 77:
-#line 1098 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{ yyval.UIntVal = CallingConv::C; ;
-    break;}
-case 78:
-#line 1099 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{ yyval.UIntVal = CallingConv::C; ;
-    break;}
-case 79:
-#line 1100 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{ yyval.UIntVal = CallingConv::CSRet; ;
-    break;}
-case 80:
-#line 1101 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{ yyval.UIntVal = CallingConv::Fast; ;
-    break;}
-case 81:
-#line 1102 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{ yyval.UIntVal = CallingConv::Cold; ;
-    break;}
-case 82:
-#line 1103 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{ yyval.UIntVal = CallingConv::X86_StdCall; ;
-    break;}
-case 83:
-#line 1104 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{ yyval.UIntVal = CallingConv::X86_FastCall; ;
-    break;}
-case 84:
-#line 1105 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
-                   if ((unsigned)yyvsp[0].UInt64Val != yyvsp[0].UInt64Val)
+  ;}
+    break;
+
+  case 62:
+#line 1083 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.Linkage) = GlobalValue::InternalLinkage; ;}
+    break;
+
+  case 63:
+#line 1084 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.Linkage) = GlobalValue::WeakLinkage; ;}
+    break;
+
+  case 64:
+#line 1085 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.Linkage) = GlobalValue::LinkOnceLinkage; ;}
+    break;
+
+  case 65:
+#line 1086 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.Linkage) = GlobalValue::AppendingLinkage; ;}
+    break;
+
+  case 66:
+#line 1087 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.Linkage) = GlobalValue::DLLExportLinkage; ;}
+    break;
+
+  case 67:
+#line 1091 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.Linkage) = GlobalValue::DLLImportLinkage; ;}
+    break;
+
+  case 68:
+#line 1092 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.Linkage) = GlobalValue::ExternalWeakLinkage; ;}
+    break;
+
+  case 69:
+#line 1093 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.Linkage) = GlobalValue::ExternalLinkage; ;}
+    break;
+
+  case 70:
+#line 1097 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.Visibility) = GlobalValue::DefaultVisibility; ;}
+    break;
+
+  case 71:
+#line 1098 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.Visibility) = GlobalValue::HiddenVisibility;  ;}
+    break;
+
+  case 72:
+#line 1102 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.Linkage) = GlobalValue::ExternalLinkage; ;}
+    break;
+
+  case 73:
+#line 1103 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.Linkage) = GlobalValue::DLLImportLinkage; ;}
+    break;
+
+  case 74:
+#line 1104 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.Linkage) = GlobalValue::ExternalWeakLinkage; ;}
+    break;
+
+  case 75:
+#line 1108 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.Linkage) = GlobalValue::ExternalLinkage; ;}
+    break;
+
+  case 76:
+#line 1109 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.Linkage) = GlobalValue::InternalLinkage; ;}
+    break;
+
+  case 77:
+#line 1110 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.Linkage) = GlobalValue::LinkOnceLinkage; ;}
+    break;
+
+  case 78:
+#line 1111 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.Linkage) = GlobalValue::WeakLinkage; ;}
+    break;
+
+  case 79:
+#line 1112 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.Linkage) = GlobalValue::DLLExportLinkage; ;}
+    break;
+
+  case 80:
+#line 1115 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.UIntVal) = CallingConv::C; ;}
+    break;
+
+  case 81:
+#line 1116 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.UIntVal) = CallingConv::C; ;}
+    break;
+
+  case 82:
+#line 1117 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.UIntVal) = CallingConv::CSRet; ;}
+    break;
+
+  case 83:
+#line 1118 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.UIntVal) = CallingConv::Fast; ;}
+    break;
+
+  case 84:
+#line 1119 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.UIntVal) = CallingConv::Cold; ;}
+    break;
+
+  case 85:
+#line 1120 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.UIntVal) = CallingConv::X86_StdCall; ;}
+    break;
+
+  case 86:
+#line 1121 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.UIntVal) = CallingConv::X86_FastCall; ;}
+    break;
+
+  case 87:
+#line 1122 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
+                   if ((unsigned)(yyvsp[(2) - (2)].UInt64Val) != (yyvsp[(2) - (2)].UInt64Val))
                      GEN_ERROR("Calling conv too large!");
-                   yyval.UIntVal = yyvsp[0].UInt64Val;
+                   (yyval.UIntVal) = (yyvsp[(2) - (2)].UInt64Val);
                   CHECK_FOR_ERROR
-                 ;
-    break;}
-case 85:
-#line 1112 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{ yyval.ParamAttrs = FunctionType::ZExtAttribute; ;
-    break;}
-case 86:
-#line 1113 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{ yyval.ParamAttrs = FunctionType::SExtAttribute; ;
-    break;}
-case 87:
-#line 1116 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{ yyval.ParamAttrs = FunctionType::NoAttributeSet; ;
-    break;}
-case 88:
-#line 1117 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
-                yyval.ParamAttrs = FunctionType::ParameterAttributes(yyvsp[-1].ParamAttrs | yyvsp[0].ParamAttrs);
-              ;
-    break;}
-case 89:
-#line 1122 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{ yyval.ParamAttrs = FunctionType::NoReturnAttribute; ;
-    break;}
-case 91:
-#line 1126 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{ yyval.ParamAttrs = FunctionType::NoAttributeSet; ;
-    break;}
-case 92:
-#line 1127 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
-                yyval.ParamAttrs = FunctionType::ParameterAttributes(yyvsp[-1].ParamAttrs | yyvsp[0].ParamAttrs);
-              ;
-    break;}
-case 93:
-#line 1134 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{ yyval.UIntVal = 0; ;
-    break;}
-case 94:
-#line 1135 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
-  yyval.UIntVal = yyvsp[0].UInt64Val;
-  if (yyval.UIntVal != 0 && !isPowerOf2_32(yyval.UIntVal))
+                 ;}
+    break;
+
+  case 88:
+#line 1129 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.ParamAttrs) = FunctionType::ZExtAttribute; ;}
+    break;
+
+  case 89:
+#line 1130 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.ParamAttrs) = FunctionType::SExtAttribute; ;}
+    break;
+
+  case 90:
+#line 1133 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.ParamAttrs) = FunctionType::NoAttributeSet; ;}
+    break;
+
+  case 91:
+#line 1134 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
+                (yyval.ParamAttrs) = FunctionType::ParameterAttributes((yyvsp[(1) - (2)].ParamAttrs) | (yyvsp[(2) - (2)].ParamAttrs));
+              ;}
+    break;
+
+  case 92:
+#line 1139 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.ParamAttrs) = FunctionType::NoReturnAttribute; ;}
+    break;
+
+  case 94:
+#line 1143 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.ParamAttrs) = FunctionType::NoAttributeSet; ;}
+    break;
+
+  case 95:
+#line 1144 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
+                (yyval.ParamAttrs) = FunctionType::ParameterAttributes((yyvsp[(1) - (2)].ParamAttrs) | (yyvsp[(2) - (2)].ParamAttrs));
+              ;}
+    break;
+
+  case 96:
+#line 1151 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.UIntVal) = 0; ;}
+    break;
+
+  case 97:
+#line 1152 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
+  (yyval.UIntVal) = (yyvsp[(2) - (2)].UInt64Val);
+  if ((yyval.UIntVal) != 0 && !isPowerOf2_32((yyval.UIntVal)))
     GEN_ERROR("Alignment must be a power of two!");
   CHECK_FOR_ERROR
-;
-    break;}
-case 95:
-#line 1141 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{ yyval.UIntVal = 0; ;
-    break;}
-case 96:
-#line 1142 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
-  yyval.UIntVal = yyvsp[0].UInt64Val;
-  if (yyval.UIntVal != 0 && !isPowerOf2_32(yyval.UIntVal))
+;}
+    break;
+
+  case 98:
+#line 1158 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.UIntVal) = 0; ;}
+    break;
+
+  case 99:
+#line 1159 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
+  (yyval.UIntVal) = (yyvsp[(3) - (3)].UInt64Val);
+  if ((yyval.UIntVal) != 0 && !isPowerOf2_32((yyval.UIntVal)))
     GEN_ERROR("Alignment must be a power of two!");
   CHECK_FOR_ERROR
-;
-    break;}
-case 97:
-#line 1150 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
-  for (unsigned i = 0, e = strlen(yyvsp[0].StrVal); i != e; ++i)
-    if (yyvsp[0].StrVal[i] == '"' || yyvsp[0].StrVal[i] == '\\')
+;}
+    break;
+
+  case 100:
+#line 1167 "/home/asl/proj/llvm/src/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] == '\\')
       GEN_ERROR("Invalid character in section name!");
-  yyval.StrVal = yyvsp[0].StrVal;
+  (yyval.StrVal) = (yyvsp[(2) - (2)].StrVal);
   CHECK_FOR_ERROR
-;
-    break;}
-case 98:
-#line 1158 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{ yyval.StrVal = 0; ;
-    break;}
-case 99:
-#line 1159 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{ yyval.StrVal = yyvsp[0].StrVal; ;
-    break;}
-case 100:
-#line 1164 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{;
-    break;}
-case 101:
-#line 1165 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{;
-    break;}
-case 102:
-#line 1166 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
-    CurGV->setSection(yyvsp[0].StrVal);
-    free(yyvsp[0].StrVal);
+;}
+    break;
+
+  case 101:
+#line 1175 "/home/asl/proj/llvm/src/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); ;}
+    break;
+
+  case 103:
+#line 1181 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {;}
+    break;
+
+  case 104:
+#line 1182 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {;}
+    break;
+
+  case 105:
+#line 1183 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
+    CurGV->setSection((yyvsp[(1) - (1)].StrVal));
+    free((yyvsp[(1) - (1)].StrVal));
     CHECK_FOR_ERROR
-  ;
-    break;}
-case 103:
-#line 1171 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
-    if (yyvsp[0].UInt64Val != 0 && !isPowerOf2_32(yyvsp[0].UInt64Val))
+  ;}
+    break;
+
+  case 106:
+#line 1188 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
+    if ((yyvsp[(2) - (2)].UInt64Val) != 0 && !isPowerOf2_32((yyvsp[(2) - (2)].UInt64Val)))
       GEN_ERROR("Alignment must be a power of two!");
-    CurGV->setAlignment(yyvsp[0].UInt64Val);
+    CurGV->setAlignment((yyvsp[(2) - (2)].UInt64Val));
     CHECK_FOR_ERROR
-  ;
-    break;}
-case 109:
-#line 1187 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
-    yyval.TypeVal = new PATypeHolder(OpaqueType::get());
+  ;}
+    break;
+
+  case 112:
+#line 1204 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
+    (yyval.TypeVal) = new PATypeHolder(OpaqueType::get());
     CHECK_FOR_ERROR
-  ;
-    break;}
-case 110:
-#line 1191 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
-    yyval.TypeVal = new PATypeHolder(yyvsp[0].PrimType);
+  ;}
+    break;
+
+  case 113:
+#line 1208 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
+    (yyval.TypeVal) = new PATypeHolder((yyvsp[(1) - (1)].PrimType));
     CHECK_FOR_ERROR
-  ;
-    break;}
-case 111:
-#line 1195 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{                             // Pointer type?
-    if (*yyvsp[-1].TypeVal == Type::LabelTy)
+  ;}
+    break;
+
+  case 114:
+#line 1212 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {                             // Pointer type?
+    if (*(yyvsp[(1) - (2)].TypeVal) == Type::LabelTy)
       GEN_ERROR("Cannot form a pointer to a basic block");
-    yyval.TypeVal = new PATypeHolder(HandleUpRefs(PointerType::get(*yyvsp[-1].TypeVal)));
-    delete yyvsp[-1].TypeVal;
+    (yyval.TypeVal) = new PATypeHolder(HandleUpRefs(PointerType::get(*(yyvsp[(1) - (2)].TypeVal))));
+    delete (yyvsp[(1) - (2)].TypeVal);
+    CHECK_FOR_ERROR
+  ;}
+    break;
+
+  case 115:
+#line 1219 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {            // Named types are also simple types...
+    const Type* tmp = getTypeVal((yyvsp[(1) - (1)].ValIDVal));
     CHECK_FOR_ERROR
-  ;
-    break;}
-case 112:
-#line 1202 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{            // Named types are also simple types...
-    const Type* tmp = getTypeVal(yyvsp[0].ValIDVal);
-    CHECK_FOR_ERROR
-    yyval.TypeVal = new PATypeHolder(tmp);
-  ;
-    break;}
-case 113:
-#line 1207 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{                   // Type UpReference
-    if (yyvsp[0].UInt64Val > (uint64_t)~0U) GEN_ERROR("Value out of range!");
+    (yyval.TypeVal) = new PATypeHolder(tmp);
+  ;}
+    break;
+
+  case 116:
+#line 1224 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {                   // Type UpReference
+    if ((yyvsp[(2) - (2)].UInt64Val) > (uint64_t)~0U) GEN_ERROR("Value out of range!");
     OpaqueType *OT = OpaqueType::get();        // Use temporary placeholder
-    UpRefs.push_back(UpRefRecord((unsigned)yyvsp[0].UInt64Val, OT));  // Add to vector...
-    yyval.TypeVal = new PATypeHolder(OT);
+    UpRefs.push_back(UpRefRecord((unsigned)(yyvsp[(2) - (2)].UInt64Val), OT));  // Add to vector...
+    (yyval.TypeVal) = new PATypeHolder(OT);
     UR_OUT("New Upreference!\n");
     CHECK_FOR_ERROR
-  ;
-    break;}
-case 114:
-#line 1215 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
+  ;}
+    break;
+
+  case 117:
+#line 1232 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
     std::vector<const Type*> Params;
     std::vector<FunctionType::ParameterAttributes> Attrs;
-    Attrs.push_back(yyvsp[0].ParamAttrs);
-    for (TypeWithAttrsList::iterator I=yyvsp[-2].TypeWithAttrsList->begin(), E=yyvsp[-2].TypeWithAttrsList->end(); I != E; ++I) {
+    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) {
       Params.push_back(I->Ty->get());
       if (I->Ty->get() != Type::VoidTy)
         Attrs.push_back(I->Attrs);
@@ -2742,20 +3667,21 @@
     bool isVarArg = Params.size() && Params.back() == Type::VoidTy;
     if (isVarArg) Params.pop_back();
 
-    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 115:
-#line 1233 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
+    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
+    (yyval.TypeVal) = new PATypeHolder(HandleUpRefs(FT)); 
+    CHECK_FOR_ERROR
+  ;}
+    break;
+
+  case 118:
+#line 1250 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
     std::vector<const Type*> Params;
     std::vector<FunctionType::ParameterAttributes> Attrs;
-    Attrs.push_back(yyvsp[0].ParamAttrs);
-    for (TypeWithAttrsList::iterator I=yyvsp[-2].TypeWithAttrsList->begin(), E=yyvsp[-2].TypeWithAttrsList->end(); I != E; ++I) {
+    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) {
       Params.push_back(I->Ty->get());
       if (I->Ty->get() != Type::VoidTy)
         Attrs.push_back(I->Attrs);
@@ -2763,282 +3689,303 @@
     bool isVarArg = Params.size() && Params.back() == Type::VoidTy;
     if (isVarArg) Params.pop_back();
 
-    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 116:
-#line 1251 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{          // Sized array type?
-    yyval.TypeVal = new PATypeHolder(HandleUpRefs(ArrayType::get(*yyvsp[-1].TypeVal, (unsigned)yyvsp[-3].UInt64Val)));
-    delete yyvsp[-1].TypeVal;
-    CHECK_FOR_ERROR
-  ;
-    break;}
-case 117:
-#line 1256 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{          // Packed array type?
-     const llvm::Type* ElemTy = yyvsp[-1].TypeVal->get();
-     if ((unsigned)yyvsp[-3].UInt64Val != yyvsp[-3].UInt64Val)
+    FunctionType *FT = FunctionType::get((yyvsp[(1) - (5)].PrimType), Params, isVarArg, Attrs);
+    delete (yyvsp[(3) - (5)].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"
+    {          // Sized array type?
+    (yyval.TypeVal) = new PATypeHolder(HandleUpRefs(ArrayType::get(*(yyvsp[(4) - (5)].TypeVal), (unsigned)(yyvsp[(2) - (5)].UInt64Val))));
+    delete (yyvsp[(4) - (5)].TypeVal);
+    CHECK_FOR_ERROR
+  ;}
+    break;
+
+  case 120:
+#line 1273 "/home/asl/proj/llvm/src/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))
         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[-3].UInt64Val))
+     if (!isPowerOf2_32((yyvsp[(2) - (5)].UInt64Val)))
        GEN_ERROR("Vector length should be a power of 2!");
-     yyval.TypeVal = new PATypeHolder(HandleUpRefs(PackedType::get(*yyvsp[-1].TypeVal, (unsigned)yyvsp[-3].UInt64Val)));
-     delete yyvsp[-1].TypeVal;
+     (yyval.TypeVal) = new PATypeHolder(HandleUpRefs(PackedType::get(*(yyvsp[(4) - (5)].TypeVal), (unsigned)(yyvsp[(2) - (5)].UInt64Val))));
+     delete (yyvsp[(4) - (5)].TypeVal);
      CHECK_FOR_ERROR
-  ;
-    break;}
-case 118:
-#line 1268 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{                        // Structure type?
+  ;}
+    break;
+
+  case 121:
+#line 1285 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {                        // Structure type?
     std::vector<const Type*> Elements;
-    for (std::list<llvm::PATypeHolder>::iterator I = yyvsp[-1].TypeList->begin(),
-           E = yyvsp[-1].TypeList->end(); I != E; ++I)
+    for (std::list<llvm::PATypeHolder>::iterator I = (yyvsp[(2) - (3)].TypeList)->begin(),
+           E = (yyvsp[(2) - (3)].TypeList)->end(); I != E; ++I)
       Elements.push_back(*I);
 
-    yyval.TypeVal = new PATypeHolder(HandleUpRefs(StructType::get(Elements)));
-    delete yyvsp[-1].TypeList;
+    (yyval.TypeVal) = new PATypeHolder(HandleUpRefs(StructType::get(Elements)));
+    delete (yyvsp[(2) - (3)].TypeList);
     CHECK_FOR_ERROR
-  ;
-    break;}
-case 119:
-#line 1278 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{                                  // Empty structure type?
-    yyval.TypeVal = new PATypeHolder(StructType::get(std::vector<const Type*>()));
-    CHECK_FOR_ERROR
-  ;
-    break;}
-case 120:
-#line 1282 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
+  ;}
+    break;
+
+  case 122:
+#line 1295 "/home/asl/proj/llvm/src/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"
+    {
     std::vector<const Type*> Elements;
-    for (std::list<llvm::PATypeHolder>::iterator I = yyvsp[-2].TypeList->begin(),
-           E = yyvsp[-2].TypeList->end(); I != E; ++I)
+    for (std::list<llvm::PATypeHolder>::iterator I = (yyvsp[(3) - (5)].TypeList)->begin(),
+           E = (yyvsp[(3) - (5)].TypeList)->end(); I != E; ++I)
       Elements.push_back(*I);
 
-    yyval.TypeVal = new PATypeHolder(HandleUpRefs(StructType::get(Elements, true)));
-    delete yyvsp[-2].TypeList;
+    (yyval.TypeVal) = new PATypeHolder(HandleUpRefs(StructType::get(Elements, true)));
+    delete (yyvsp[(3) - (5)].TypeList);
     CHECK_FOR_ERROR
-  ;
-    break;}
-case 121:
-#line 1292 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{                         // Empty structure type?
-    yyval.TypeVal = new PATypeHolder(StructType::get(std::vector<const Type*>(), true));
-    CHECK_FOR_ERROR
-  ;
-    break;}
-case 122:
-#line 1299 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{ 
-    yyval.TypeWithAttrs.Ty = yyvsp[-1].TypeVal; 
-    yyval.TypeWithAttrs.Attrs = yyvsp[0].ParamAttrs; 
-  ;
-    break;}
-case 123:
-#line 1306 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
+  ;}
+    break;
+
+  case 124:
+#line 1309 "/home/asl/proj/llvm/src/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"
+    { 
+    (yyval.TypeWithAttrs).Ty = (yyvsp[(1) - (2)].TypeVal); 
+    (yyval.TypeWithAttrs).Attrs = (yyvsp[(2) - (2)].ParamAttrs); 
+  ;}
+    break;
+
+  case 126:
+#line 1323 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
     if (!UpRefs.empty())
-      GEN_ERROR("Invalid upreference in type: " + (*yyvsp[0].TypeVal)->getDescription());
-    if (!(*yyvsp[0].TypeVal)->isFirstClassType())
+      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (1)].TypeVal))->getDescription());
+    if (!(*(yyvsp[(1) - (1)].TypeVal))->isFirstClassType())
       GEN_ERROR("LLVM functions cannot return aggregate types!");
-    yyval.TypeVal = yyvsp[0].TypeVal;
-  ;
-    break;}
-case 124:
-#line 1313 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
-    yyval.TypeVal = new PATypeHolder(Type::VoidTy);
-  ;
-    break;}
-case 125:
-#line 1318 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
-    yyval.TypeWithAttrsList = new TypeWithAttrsList();
-    yyval.TypeWithAttrsList->push_back(yyvsp[0].TypeWithAttrs);
+    (yyval.TypeVal) = (yyvsp[(1) - (1)].TypeVal);
+  ;}
+    break;
+
+  case 127:
+#line 1330 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
+    (yyval.TypeVal) = new PATypeHolder(Type::VoidTy);
+  ;}
+    break;
+
+  case 128:
+#line 1335 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
+    (yyval.TypeWithAttrsList) = new TypeWithAttrsList();
+    (yyval.TypeWithAttrsList)->push_back((yyvsp[(1) - (1)].TypeWithAttrs));
     CHECK_FOR_ERROR
-  ;
-    break;}
-case 126:
-#line 1323 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
-    (yyval.TypeWithAttrsList=yyvsp[-2].TypeWithAttrsList)->push_back(yyvsp[0].TypeWithAttrs);
+  ;}
+    break;
+
+  case 129:
+#line 1340 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
+    ((yyval.TypeWithAttrsList)=(yyvsp[(1) - (3)].TypeWithAttrsList))->push_back((yyvsp[(3) - (3)].TypeWithAttrs));
     CHECK_FOR_ERROR
-  ;
-    break;}
-case 128:
-#line 1331 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
-    yyval.TypeWithAttrsList=yyvsp[-2].TypeWithAttrsList;
+  ;}
+    break;
+
+  case 131:
+#line 1348 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
+    (yyval.TypeWithAttrsList)=(yyvsp[(1) - (3)].TypeWithAttrsList);
     TypeWithAttrs TWA; TWA.Attrs = FunctionType::NoAttributeSet;
     TWA.Ty = new PATypeHolder(Type::VoidTy);
-    yyval.TypeWithAttrsList->push_back(TWA);
+    (yyval.TypeWithAttrsList)->push_back(TWA);
     CHECK_FOR_ERROR
-  ;
-    break;}
-case 129:
-#line 1338 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
-    yyval.TypeWithAttrsList = new TypeWithAttrsList;
+  ;}
+    break;
+
+  case 132:
+#line 1355 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
+    (yyval.TypeWithAttrsList) = new TypeWithAttrsList;
     TypeWithAttrs TWA; TWA.Attrs = FunctionType::NoAttributeSet;
     TWA.Ty = new PATypeHolder(Type::VoidTy);
-    yyval.TypeWithAttrsList->push_back(TWA);
+    (yyval.TypeWithAttrsList)->push_back(TWA);
     CHECK_FOR_ERROR
-  ;
-    break;}
-case 130:
-#line 1345 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
-    yyval.TypeWithAttrsList = new TypeWithAttrsList();
+  ;}
+    break;
+
+  case 133:
+#line 1362 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
+    (yyval.TypeWithAttrsList) = new TypeWithAttrsList();
     CHECK_FOR_ERROR
-  ;
-    break;}
-case 131:
-#line 1353 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
-    yyval.TypeList = new std::list<PATypeHolder>();
-    yyval.TypeList->push_back(*yyvsp[0].TypeVal); delete yyvsp[0].TypeVal;
+  ;}
+    break;
+
+  case 134:
+#line 1370 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
+    (yyval.TypeList) = new std::list<PATypeHolder>();
+    (yyval.TypeList)->push_back(*(yyvsp[(1) - (1)].TypeVal)); delete (yyvsp[(1) - (1)].TypeVal);
     CHECK_FOR_ERROR
-  ;
-    break;}
-case 132:
-#line 1358 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
-    (yyval.TypeList=yyvsp[-2].TypeList)->push_back(*yyvsp[0].TypeVal); delete yyvsp[0].TypeVal;
+  ;}
+    break;
+
+  case 135:
+#line 1375 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
+    ((yyval.TypeList)=(yyvsp[(1) - (3)].TypeList))->push_back(*(yyvsp[(3) - (3)].TypeVal)); delete (yyvsp[(3) - (3)].TypeVal);
     CHECK_FOR_ERROR
-  ;
-    break;}
-case 133:
-#line 1369 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{ // Nonempty unsized arr
+  ;}
+    break;
+
+  case 136:
+#line 1386 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    { // Nonempty unsized arr
     if (!UpRefs.empty())
-      GEN_ERROR("Invalid upreference in type: " + (*yyvsp[-3].TypeVal)->getDescription());
-    const ArrayType *ATy = dyn_cast<ArrayType>(yyvsp[-3].TypeVal->get());
+      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (4)].TypeVal))->getDescription());
+    const ArrayType *ATy = dyn_cast<ArrayType>((yyvsp[(1) - (4)].TypeVal)->get());
     if (ATy == 0)
       GEN_ERROR("Cannot make array constant with type: '" + 
-                     (*yyvsp[-3].TypeVal)->getDescription() + "'!");
+                     (*(yyvsp[(1) - (4)].TypeVal))->getDescription() + "'!");
     const Type *ETy = ATy->getElementType();
     int NumElements = ATy->getNumElements();
 
     // Verify that we have the correct size...
-    if (NumElements != -1 && NumElements != (int)yyvsp[-1].ConstVector->size())
+    if (NumElements != -1 && NumElements != (int)(yyvsp[(3) - (4)].ConstVector)->size())
       GEN_ERROR("Type mismatch: constant sized array initialized with " +
-                     utostr(yyvsp[-1].ConstVector->size()) +  " arguments, but has size of " + 
+                     utostr((yyvsp[(3) - (4)].ConstVector)->size()) +  " arguments, but has size of " + 
                      itostr(NumElements) + "!");
 
     // Verify all elements are correct type!
-    for (unsigned i = 0; i < yyvsp[-1].ConstVector->size(); i++) {
-      if (ETy != (*yyvsp[-1].ConstVector)[i]->getType())
+    for (unsigned i = 0; i < (yyvsp[(3) - (4)].ConstVector)->size(); i++) {
+      if (ETy != (*(yyvsp[(3) - (4)].ConstVector))[i]->getType())
         GEN_ERROR("Element #" + utostr(i) + " is not of type '" + 
                        ETy->getDescription() +"' as required!\nIt is of type '"+
-                       (*yyvsp[-1].ConstVector)[i]->getType()->getDescription() + "'.");
+                       (*(yyvsp[(3) - (4)].ConstVector))[i]->getType()->getDescription() + "'.");
     }
 
-    yyval.ConstVal = ConstantArray::get(ATy, *yyvsp[-1].ConstVector);
-    delete yyvsp[-3].TypeVal; delete yyvsp[-1].ConstVector;
+    (yyval.ConstVal) = ConstantArray::get(ATy, *(yyvsp[(3) - (4)].ConstVector));
+    delete (yyvsp[(1) - (4)].TypeVal); delete (yyvsp[(3) - (4)].ConstVector);
     CHECK_FOR_ERROR
-  ;
-    break;}
-case 134:
-#line 1397 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
+  ;}
+    break;
+
+  case 137:
+#line 1414 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
     if (!UpRefs.empty())
-      GEN_ERROR("Invalid upreference in type: " + (*yyvsp[-2].TypeVal)->getDescription());
-    const ArrayType *ATy = dyn_cast<ArrayType>(yyvsp[-2].TypeVal->get());
+      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (3)].TypeVal))->getDescription());
+    const ArrayType *ATy = dyn_cast<ArrayType>((yyvsp[(1) - (3)].TypeVal)->get());
     if (ATy == 0)
       GEN_ERROR("Cannot make array constant with type: '" + 
-                     (*yyvsp[-2].TypeVal)->getDescription() + "'!");
+                     (*(yyvsp[(1) - (3)].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[-2].TypeVal;
+    (yyval.ConstVal) = ConstantArray::get(ATy, std::vector<Constant*>());
+    delete (yyvsp[(1) - (3)].TypeVal);
     CHECK_FOR_ERROR
-  ;
-    break;}
-case 135:
-#line 1413 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
+  ;}
+    break;
+
+  case 138:
+#line 1430 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
     if (!UpRefs.empty())
-      GEN_ERROR("Invalid upreference in type: " + (*yyvsp[-2].TypeVal)->getDescription());
-    const ArrayType *ATy = dyn_cast<ArrayType>(yyvsp[-2].TypeVal->get());
+      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (3)].TypeVal))->getDescription());
+    const ArrayType *ATy = dyn_cast<ArrayType>((yyvsp[(1) - (3)].TypeVal)->get());
     if (ATy == 0)
       GEN_ERROR("Cannot make array constant with type: '" + 
-                     (*yyvsp[-2].TypeVal)->getDescription() + "'!");
+                     (*(yyvsp[(1) - (3)].TypeVal))->getDescription() + "'!");
 
     int NumElements = ATy->getNumElements();
     const Type *ETy = ATy->getElementType();
-    char *EndStr = UnEscapeLexed(yyvsp[0].StrVal, true);
-    if (NumElements != -1 && NumElements != (EndStr-yyvsp[0].StrVal))
+    char *EndStr = UnEscapeLexed((yyvsp[(3) - (3)].StrVal), true);
+    if (NumElements != -1 && NumElements != (EndStr-(yyvsp[(3) - (3)].StrVal)))
       GEN_ERROR("Can't build string constant of size " + 
-                     itostr((int)(EndStr-yyvsp[0].StrVal)) +
+                     itostr((int)(EndStr-(yyvsp[(3) - (3)].StrVal))) +
                      " when array has size " + itostr(NumElements) + "!");
     std::vector<Constant*> Vals;
     if (ETy == Type::Int8Ty) {
-      for (unsigned char *C = (unsigned char *)yyvsp[0].StrVal; 
+      for (unsigned char *C = (unsigned char *)(yyvsp[(3) - (3)].StrVal); 
         C != (unsigned char*)EndStr; ++C)
       Vals.push_back(ConstantInt::get(ETy, *C));
     } else {
-      free(yyvsp[0].StrVal);
+      free((yyvsp[(3) - (3)].StrVal));
       GEN_ERROR("Cannot build string arrays of non byte sized elements!");
     }
-    free(yyvsp[0].StrVal);
-    yyval.ConstVal = ConstantArray::get(ATy, Vals);
-    delete yyvsp[-2].TypeVal;
-    CHECK_FOR_ERROR
-  ;
-    break;}
-case 136:
-#line 1442 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{ // Nonempty unsized arr
+    free((yyvsp[(3) - (3)].StrVal));
+    (yyval.ConstVal) = ConstantArray::get(ATy, Vals);
+    delete (yyvsp[(1) - (3)].TypeVal);
+    CHECK_FOR_ERROR
+  ;}
+    break;
+
+  case 139:
+#line 1459 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    { // Nonempty unsized arr
     if (!UpRefs.empty())
-      GEN_ERROR("Invalid upreference in type: " + (*yyvsp[-3].TypeVal)->getDescription());
-    const PackedType *PTy = dyn_cast<PackedType>(yyvsp[-3].TypeVal->get());
+      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (4)].TypeVal))->getDescription());
+    const PackedType *PTy = dyn_cast<PackedType>((yyvsp[(1) - (4)].TypeVal)->get());
     if (PTy == 0)
       GEN_ERROR("Cannot make packed constant with type: '" + 
-                     (*yyvsp[-3].TypeVal)->getDescription() + "'!");
+                     (*(yyvsp[(1) - (4)].TypeVal))->getDescription() + "'!");
     const Type *ETy = PTy->getElementType();
     int NumElements = PTy->getNumElements();
 
     // Verify that we have the correct size...
-    if (NumElements != -1 && NumElements != (int)yyvsp[-1].ConstVector->size())
+    if (NumElements != -1 && NumElements != (int)(yyvsp[(3) - (4)].ConstVector)->size())
       GEN_ERROR("Type mismatch: constant sized packed initialized with " +
-                     utostr(yyvsp[-1].ConstVector->size()) +  " arguments, but has size of " + 
+                     utostr((yyvsp[(3) - (4)].ConstVector)->size()) +  " arguments, but has size of " + 
                      itostr(NumElements) + "!");
 
     // Verify all elements are correct type!
-    for (unsigned i = 0; i < yyvsp[-1].ConstVector->size(); i++) {
-      if (ETy != (*yyvsp[-1].ConstVector)[i]->getType())
+    for (unsigned i = 0; i < (yyvsp[(3) - (4)].ConstVector)->size(); i++) {
+      if (ETy != (*(yyvsp[(3) - (4)].ConstVector))[i]->getType())
         GEN_ERROR("Element #" + utostr(i) + " is not of type '" + 
            ETy->getDescription() +"' as required!\nIt is of type '"+
-           (*yyvsp[-1].ConstVector)[i]->getType()->getDescription() + "'.");
+           (*(yyvsp[(3) - (4)].ConstVector))[i]->getType()->getDescription() + "'.");
     }
 
-    yyval.ConstVal = ConstantPacked::get(PTy, *yyvsp[-1].ConstVector);
-    delete yyvsp[-3].TypeVal; delete yyvsp[-1].ConstVector;
+    (yyval.ConstVal) = ConstantPacked::get(PTy, *(yyvsp[(3) - (4)].ConstVector));
+    delete (yyvsp[(1) - (4)].TypeVal); delete (yyvsp[(3) - (4)].ConstVector);
     CHECK_FOR_ERROR
-  ;
-    break;}
-case 137:
-#line 1470 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
-    const StructType *STy = dyn_cast<StructType>(yyvsp[-3].TypeVal->get());
+  ;}
+    break;
+
+  case 140:
+#line 1487 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
+    const StructType *STy = dyn_cast<StructType>((yyvsp[(1) - (4)].TypeVal)->get());
     if (STy == 0)
       GEN_ERROR("Cannot make struct constant with type: '" + 
-                     (*yyvsp[-3].TypeVal)->getDescription() + "'!");
+                     (*(yyvsp[(1) - (4)].TypeVal))->getDescription() + "'!");
 
-    if (yyvsp[-1].ConstVector->size() != STy->getNumContainedTypes())
+    if ((yyvsp[(3) - (4)].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[-1].ConstVector->size(); i != e; ++i)
-      if ((*yyvsp[-1].ConstVector)[i]->getType() != STy->getElementType(i))
+    for (unsigned i = 0, e = (yyvsp[(3) - (4)].ConstVector)->size(); i != e; ++i)
+      if ((*(yyvsp[(3) - (4)].ConstVector))[i]->getType() != STy->getElementType(i))
         GEN_ERROR("Expected type '" +
                        STy->getElementType(i)->getDescription() +
                        "' for element #" + utostr(i) +
@@ -3048,20 +3995,21 @@
     if (STy->isPacked())
       GEN_ERROR("Unpacked Initializer to packed type '" + STy->getDescription() + "'");
 
-    yyval.ConstVal = ConstantStruct::get(STy, *yyvsp[-1].ConstVector);
-    delete yyvsp[-3].TypeVal; delete yyvsp[-1].ConstVector;
+    (yyval.ConstVal) = ConstantStruct::get(STy, *(yyvsp[(3) - (4)].ConstVector));
+    delete (yyvsp[(1) - (4)].TypeVal); delete (yyvsp[(3) - (4)].ConstVector);
     CHECK_FOR_ERROR
-  ;
-    break;}
-case 138:
-#line 1495 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
+  ;}
+    break;
+
+  case 141:
+#line 1512 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
     if (!UpRefs.empty())
-      GEN_ERROR("Invalid upreference in type: " + (*yyvsp[-2].TypeVal)->getDescription());
-    const StructType *STy = dyn_cast<StructType>(yyvsp[-2].TypeVal->get());
+      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (3)].TypeVal))->getDescription());
+    const StructType *STy = dyn_cast<StructType>((yyvsp[(1) - (3)].TypeVal)->get());
     if (STy == 0)
       GEN_ERROR("Cannot make struct constant with type: '" + 
-                     (*yyvsp[-2].TypeVal)->getDescription() + "'!");
+                     (*(yyvsp[(1) - (3)].TypeVal))->getDescription() + "'!");
 
     if (STy->getNumContainedTypes() != 0)
       GEN_ERROR("Illegal number of initializers for structure type!");
@@ -3070,25 +4018,26 @@
     if (STy->isPacked())
       GEN_ERROR("Unpacked Initializer to packed type '" + STy->getDescription() + "'");
 
-    yyval.ConstVal = ConstantStruct::get(STy, std::vector<Constant*>());
-    delete yyvsp[-2].TypeVal;
+    (yyval.ConstVal) = ConstantStruct::get(STy, std::vector<Constant*>());
+    delete (yyvsp[(1) - (3)].TypeVal);
     CHECK_FOR_ERROR
-  ;
-    break;}
-case 139:
-#line 1514 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
-    const StructType *STy = dyn_cast<StructType>(yyvsp[-5].TypeVal->get());
+  ;}
+    break;
+
+  case 142:
+#line 1531 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
+    const StructType *STy = dyn_cast<StructType>((yyvsp[(1) - (6)].TypeVal)->get());
     if (STy == 0)
       GEN_ERROR("Cannot make struct constant with type: '" + 
-                     (*yyvsp[-5].TypeVal)->getDescription() + "'!");
+                     (*(yyvsp[(1) - (6)].TypeVal))->getDescription() + "'!");
 
-    if (yyvsp[-2].ConstVector->size() != STy->getNumContainedTypes())
+    if ((yyvsp[(4) - (6)].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[-2].ConstVector->size(); i != e; ++i)
-      if ((*yyvsp[-2].ConstVector)[i]->getType() != STy->getElementType(i))
+    for (unsigned i = 0, e = (yyvsp[(4) - (6)].ConstVector)->size(); i != e; ++i)
+      if ((*(yyvsp[(4) - (6)].ConstVector))[i]->getType() != STy->getElementType(i))
         GEN_ERROR("Expected type '" +
                        STy->getElementType(i)->getDescription() +
                        "' for element #" + utostr(i) +
@@ -3098,20 +4047,21 @@
     if (!STy->isPacked())
       GEN_ERROR("Packed Initializer to unpacked type '" + STy->getDescription() + "'");
 
-    yyval.ConstVal = ConstantStruct::get(STy, *yyvsp[-2].ConstVector);
-    delete yyvsp[-5].TypeVal; delete yyvsp[-2].ConstVector;
+    (yyval.ConstVal) = ConstantStruct::get(STy, *(yyvsp[(4) - (6)].ConstVector));
+    delete (yyvsp[(1) - (6)].TypeVal); delete (yyvsp[(4) - (6)].ConstVector);
     CHECK_FOR_ERROR
-  ;
-    break;}
-case 140:
-#line 1539 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
+  ;}
+    break;
+
+  case 143:
+#line 1556 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
     if (!UpRefs.empty())
-      GEN_ERROR("Invalid upreference in type: " + (*yyvsp[-4].TypeVal)->getDescription());
-    const StructType *STy = dyn_cast<StructType>(yyvsp[-4].TypeVal->get());
+      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (5)].TypeVal))->getDescription());
+    const StructType *STy = dyn_cast<StructType>((yyvsp[(1) - (5)].TypeVal)->get());
     if (STy == 0)
       GEN_ERROR("Cannot make struct constant with type: '" + 
-                     (*yyvsp[-4].TypeVal)->getDescription() + "'!");
+                     (*(yyvsp[(1) - (5)].TypeVal))->getDescription() + "'!");
 
     if (STy->getNumContainedTypes() != 0)
       GEN_ERROR("Illegal number of initializers for structure type!");
@@ -3120,42 +4070,45 @@
     if (!STy->isPacked())
       GEN_ERROR("Packed Initializer to unpacked type '" + STy->getDescription() + "'");
 
-    yyval.ConstVal = ConstantStruct::get(STy, std::vector<Constant*>());
-    delete yyvsp[-4].TypeVal;
+    (yyval.ConstVal) = ConstantStruct::get(STy, std::vector<Constant*>());
+    delete (yyvsp[(1) - (5)].TypeVal);
     CHECK_FOR_ERROR
-  ;
-    break;}
-case 141:
-#line 1558 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
+  ;}
+    break;
+
+  case 144:
+#line 1575 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
     if (!UpRefs.empty())
-      GEN_ERROR("Invalid upreference in type: " + (*yyvsp[-1].TypeVal)->getDescription());
-    const PointerType *PTy = dyn_cast<PointerType>(yyvsp[-1].TypeVal->get());
+      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (2)].TypeVal))->getDescription());
+    const PointerType *PTy = dyn_cast<PointerType>((yyvsp[(1) - (2)].TypeVal)->get());
     if (PTy == 0)
       GEN_ERROR("Cannot make null pointer constant with type: '" + 
-                     (*yyvsp[-1].TypeVal)->getDescription() + "'!");
+                     (*(yyvsp[(1) - (2)].TypeVal))->getDescription() + "'!");
 
-    yyval.ConstVal = ConstantPointerNull::get(PTy);
-    delete yyvsp[-1].TypeVal;
+    (yyval.ConstVal) = ConstantPointerNull::get(PTy);
+    delete (yyvsp[(1) - (2)].TypeVal);
     CHECK_FOR_ERROR
-  ;
-    break;}
-case 142:
-#line 1570 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
+  ;}
+    break;
+
+  case 145:
+#line 1587 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
     if (!UpRefs.empty())
-      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 143:
-#line 1577 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
+      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);
+    CHECK_FOR_ERROR
+  ;}
+    break;
+
+  case 146:
+#line 1594 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
     if (!UpRefs.empty())
-      GEN_ERROR("Invalid upreference in type: " + (*yyvsp[-1].TypeVal)->getDescription());
-    const PointerType *Ty = dyn_cast<PointerType>(yyvsp[-1].TypeVal->get());
+      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (2)].TypeVal))->getDescription());
+    const PointerType *Ty = dyn_cast<PointerType>((yyvsp[(1) - (2)].TypeVal)->get());
     if (Ty == 0)
       GEN_ERROR("Global const reference must be a pointer type!");
 
@@ -3169,7 +4122,7 @@
     Function *SavedCurFn = CurFun.CurrentFunction;
     CurFun.CurrentFunction = 0;
 
-    Value *V = getValNonImprovising(Ty, yyvsp[0].ValIDVal);
+    Value *V = getValNonImprovising(Ty, (yyvsp[(2) - (2)].ValIDVal));
     CHECK_FOR_ERROR
 
     CurFun.CurrentFunction = SavedCurFn;
@@ -3184,14 +4137,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[0].ValIDVal));
+        CurModule.GlobalRefs.find(std::make_pair(PT, (yyvsp[(2) - (2)].ValIDVal)));
     
       if (I != CurModule.GlobalRefs.end()) {
         V = I->second;             // Placeholder already exists, use it...
-        yyvsp[0].ValIDVal.destroy();
+        (yyvsp[(2) - (2)].ValIDVal).destroy();
       } else {
         std::string Name;
-        if (yyvsp[0].ValIDVal.Type == ValID::NameVal) Name = yyvsp[0].ValIDVal.Name;
+        if ((yyvsp[(2) - (2)].ValIDVal).Type == ValID::NameVal) Name = (yyvsp[(2) - (2)].ValIDVal).Name;
 
         // Create the forward referenced global.
         GlobalValue *GV;
@@ -3206,282 +4159,312 @@
         }
 
         // 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[0].ValIDVal), GV));
+        CurModule.GlobalRefs.insert(std::make_pair(std::make_pair(PT, (yyvsp[(2) - (2)].ValIDVal)), GV));
         V = GV;
       }
     }
 
-    yyval.ConstVal = cast<GlobalValue>(V);
-    delete yyvsp[-1].TypeVal;            // Free the type handle
+    (yyval.ConstVal) = cast<GlobalValue>(V);
+    delete (yyvsp[(1) - (2)].TypeVal);            // Free the type handle
     CHECK_FOR_ERROR
-  ;
-    break;}
-case 144:
-#line 1640 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
+  ;}
+    break;
+
+  case 147:
+#line 1657 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
     if (!UpRefs.empty())
-      GEN_ERROR("Invalid upreference in type: " + (*yyvsp[-1].TypeVal)->getDescription());
-    if (yyvsp[-1].TypeVal->get() != yyvsp[0].ConstVal->getType())
+      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (2)].TypeVal))->getDescription());
+    if ((yyvsp[(1) - (2)].TypeVal)->get() != (yyvsp[(2) - (2)].ConstVal)->getType())
       GEN_ERROR("Mismatched types for constant expression: " + 
-        (*yyvsp[-1].TypeVal)->getDescription() + " and " + yyvsp[0].ConstVal->getType()->getDescription());
-    yyval.ConstVal = yyvsp[0].ConstVal;
-    delete yyvsp[-1].TypeVal;
-    CHECK_FOR_ERROR
-  ;
-    break;}
-case 145:
-#line 1650 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
+        (*(yyvsp[(1) - (2)].TypeVal))->getDescription() + " and " + (yyvsp[(2) - (2)].ConstVal)->getType()->getDescription());
+    (yyval.ConstVal) = (yyvsp[(2) - (2)].ConstVal);
+    delete (yyvsp[(1) - (2)].TypeVal);
+    CHECK_FOR_ERROR
+  ;}
+    break;
+
+  case 148:
+#line 1667 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
     if (!UpRefs.empty())
-      GEN_ERROR("Invalid upreference in type: " + (*yyvsp[-1].TypeVal)->getDescription());
-    const Type *Ty = yyvsp[-1].TypeVal->get();
+      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (2)].TypeVal))->getDescription());
+    const Type *Ty = (yyvsp[(1) - (2)].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].TypeVal;
+    (yyval.ConstVal) = Constant::getNullValue(Ty);
+    delete (yyvsp[(1) - (2)].TypeVal);
     CHECK_FOR_ERROR
-  ;
-    break;}
-case 146:
-#line 1660 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{      // integral constants
-    if (!ConstantInt::isValueValidForType(yyvsp[-1].PrimType, yyvsp[0].SInt64Val))
+  ;}
+    break;
+
+  case 149:
+#line 1677 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {      // integral constants
+    if (!ConstantInt::isValueValidForType((yyvsp[(1) - (2)].PrimType), (yyvsp[(2) - (2)].SInt64Val)))
       GEN_ERROR("Constant value doesn't fit in type!");
-    yyval.ConstVal = ConstantInt::get(yyvsp[-1].PrimType, yyvsp[0].SInt64Val);
+    (yyval.ConstVal) = ConstantInt::get((yyvsp[(1) - (2)].PrimType), (yyvsp[(2) - (2)].SInt64Val));
     CHECK_FOR_ERROR
-  ;
-    break;}
-case 147:
-#line 1666 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{      // integral constants
-    if (!ConstantInt::isValueValidForType(yyvsp[-1].PrimType, yyvsp[0].UInt64Val))
+  ;}
+    break;
+
+  case 150:
+#line 1683 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {      // integral constants
+    if (!ConstantInt::isValueValidForType((yyvsp[(1) - (2)].PrimType), (yyvsp[(2) - (2)].UInt64Val)))
       GEN_ERROR("Constant value doesn't fit in type!");
-    yyval.ConstVal = ConstantInt::get(yyvsp[-1].PrimType, yyvsp[0].UInt64Val);
+    (yyval.ConstVal) = ConstantInt::get((yyvsp[(1) - (2)].PrimType), (yyvsp[(2) - (2)].UInt64Val));
+    CHECK_FOR_ERROR
+  ;}
+    break;
+
+  case 151:
+#line 1689 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {                      // Boolean constants
+    (yyval.ConstVal) = ConstantInt::getTrue();
     CHECK_FOR_ERROR
-  ;
-    break;}
-case 148:
-#line 1672 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{                      // Boolean constants
-    yyval.ConstVal = ConstantInt::getTrue();
-    CHECK_FOR_ERROR
-  ;
-    break;}
-case 149:
-#line 1676 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{                     // Boolean constants
-    yyval.ConstVal = ConstantInt::getFalse();
-    CHECK_FOR_ERROR
-  ;
-    break;}
-case 150:
-#line 1680 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{                   // Float & Double constants
-    if (!ConstantFP::isValueValidForType(yyvsp[-1].PrimType, yyvsp[0].FPVal))
+  ;}
+    break;
+
+  case 152:
+#line 1693 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {                     // Boolean constants
+    (yyval.ConstVal) = ConstantInt::getFalse();
+    CHECK_FOR_ERROR
+  ;}
+    break;
+
+  case 153:
+#line 1697 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {                   // Float & Double constants
+    if (!ConstantFP::isValueValidForType((yyvsp[(1) - (2)].PrimType), (yyvsp[(2) - (2)].FPVal)))
       GEN_ERROR("Floating point constant invalid for type!!");
-    yyval.ConstVal = ConstantFP::get(yyvsp[-1].PrimType, yyvsp[0].FPVal);
+    (yyval.ConstVal) = ConstantFP::get((yyvsp[(1) - (2)].PrimType), (yyvsp[(2) - (2)].FPVal));
     CHECK_FOR_ERROR
-  ;
-    break;}
-case 151:
-#line 1688 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
+  ;}
+    break;
+
+  case 154:
+#line 1705 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
     if (!UpRefs.empty())
-      GEN_ERROR("Invalid upreference in type: " + (*yyvsp[-1].TypeVal)->getDescription());
-    Constant *Val = yyvsp[-3].ConstVal;
-    const Type *Ty = yyvsp[-1].TypeVal->get();
+      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();
     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[-5].CastOpVal, yyvsp[-3].ConstVal, yyvsp[-1].TypeVal->get());
-    delete yyvsp[-1].TypeVal;
-  ;
-    break;}
-case 152:
-#line 1702 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
-    if (!isa<PointerType>(yyvsp[-2].ConstVal->getType()))
+    (yyval.ConstVal) = ConstantExpr::getCast((yyvsp[(1) - (6)].CastOpVal), (yyvsp[(3) - (6)].ConstVal), (yyvsp[(5) - (6)].TypeVal)->get());
+    delete (yyvsp[(5) - (6)].TypeVal);
+  ;}
+    break;
+
+  case 155:
+#line 1719 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
+    if (!isa<PointerType>((yyvsp[(3) - (5)].ConstVal)->getType()))
       GEN_ERROR("GetElementPtr requires a pointer operand!");
 
     const Type *IdxTy =
-      GetElementPtrInst::getIndexedType(yyvsp[-2].ConstVal->getType(), *yyvsp[-1].ValueList, true);
+      GetElementPtrInst::getIndexedType((yyvsp[(3) - (5)].ConstVal)->getType(), *(yyvsp[(4) - (5)].ValueList), true);
     if (!IdxTy)
       GEN_ERROR("Index list invalid for constant getelementptr!");
 
     std::vector<Constant*> IdxVec;
-    for (unsigned i = 0, e = yyvsp[-1].ValueList->size(); i != e; ++i)
-      if (Constant *C = dyn_cast<Constant>((*yyvsp[-1].ValueList)[i]))
+    for (unsigned i = 0, e = (yyvsp[(4) - (5)].ValueList)->size(); i != e; ++i)
+      if (Constant *C = dyn_cast<Constant>((*(yyvsp[(4) - (5)].ValueList))[i]))
         IdxVec.push_back(C);
       else
         GEN_ERROR("Indices to constant getelementptr must be constants!");
 
-    delete yyvsp[-1].ValueList;
+    delete (yyvsp[(4) - (5)].ValueList);
 
-    yyval.ConstVal = ConstantExpr::getGetElementPtr(yyvsp[-2].ConstVal, IdxVec);
+    (yyval.ConstVal) = ConstantExpr::getGetElementPtr((yyvsp[(3) - (5)].ConstVal), IdxVec);
     CHECK_FOR_ERROR
-  ;
-    break;}
-case 153:
-#line 1723 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
-    if (yyvsp[-5].ConstVal->getType() != Type::Int1Ty)
+  ;}
+    break;
+
+  case 156:
+#line 1740 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
+    if ((yyvsp[(3) - (8)].ConstVal)->getType() != Type::Int1Ty)
       GEN_ERROR("Select condition must be of boolean type!");
-    if (yyvsp[-3].ConstVal->getType() != yyvsp[-1].ConstVal->getType())
+    if ((yyvsp[(5) - (8)].ConstVal)->getType() != (yyvsp[(7) - (8)].ConstVal)->getType())
       GEN_ERROR("Select operand types must match!");
-    yyval.ConstVal = ConstantExpr::getSelect(yyvsp[-5].ConstVal, yyvsp[-3].ConstVal, yyvsp[-1].ConstVal);
+    (yyval.ConstVal) = ConstantExpr::getSelect((yyvsp[(3) - (8)].ConstVal), (yyvsp[(5) - (8)].ConstVal), (yyvsp[(7) - (8)].ConstVal));
     CHECK_FOR_ERROR
-  ;
-    break;}
-case 154:
-#line 1731 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
-    if (yyvsp[-3].ConstVal->getType() != yyvsp[-1].ConstVal->getType())
+  ;}
+    break;
+
+  case 157:
+#line 1748 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
+    if ((yyvsp[(3) - (6)].ConstVal)->getType() != (yyvsp[(5) - (6)].ConstVal)->getType())
       GEN_ERROR("Binary operator types must match!");
     CHECK_FOR_ERROR;
-    yyval.ConstVal = ConstantExpr::get(yyvsp[-5].BinaryOpVal, yyvsp[-3].ConstVal, yyvsp[-1].ConstVal);
-  ;
-    break;}
-case 155:
-#line 1737 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
-    if (yyvsp[-3].ConstVal->getType() != yyvsp[-1].ConstVal->getType())
+    (yyval.ConstVal) = ConstantExpr::get((yyvsp[(1) - (6)].BinaryOpVal), (yyvsp[(3) - (6)].ConstVal), (yyvsp[(5) - (6)].ConstVal));
+  ;}
+    break;
+
+  case 158:
+#line 1754 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
+    if ((yyvsp[(3) - (6)].ConstVal)->getType() != (yyvsp[(5) - (6)].ConstVal)->getType())
       GEN_ERROR("Logical operator types must match!");
-    if (!yyvsp[-3].ConstVal->getType()->isIntegral()) {
-      if (!isa<PackedType>(yyvsp[-3].ConstVal->getType()) || 
-          !cast<PackedType>(yyvsp[-3].ConstVal->getType())->getElementType()->isIntegral())
+    if (!(yyvsp[(3) - (6)].ConstVal)->getType()->isIntegral()) {
+      if (!isa<PackedType>((yyvsp[(3) - (6)].ConstVal)->getType()) || 
+          !cast<PackedType>((yyvsp[(3) - (6)].ConstVal)->getType())->getElementType()->isIntegral())
         GEN_ERROR("Logical operator requires integral operands!");
     }
-    yyval.ConstVal = ConstantExpr::get(yyvsp[-5].BinaryOpVal, yyvsp[-3].ConstVal, yyvsp[-1].ConstVal);
+    (yyval.ConstVal) = ConstantExpr::get((yyvsp[(1) - (6)].BinaryOpVal), (yyvsp[(3) - (6)].ConstVal), (yyvsp[(5) - (6)].ConstVal));
     CHECK_FOR_ERROR
-  ;
-    break;}
-case 156:
-#line 1748 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
-    if (yyvsp[-3].ConstVal->getType() != yyvsp[-1].ConstVal->getType())
+  ;}
+    break;
+
+  case 159:
+#line 1765 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
+    if ((yyvsp[(4) - (7)].ConstVal)->getType() != (yyvsp[(6) - (7)].ConstVal)->getType())
       GEN_ERROR("icmp operand types must match!");
-    yyval.ConstVal = ConstantExpr::getICmp(yyvsp[-5].IPredicate, yyvsp[-3].ConstVal, yyvsp[-1].ConstVal);
-  ;
-    break;}
-case 157:
-#line 1753 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
-    if (yyvsp[-3].ConstVal->getType() != yyvsp[-1].ConstVal->getType())
+    (yyval.ConstVal) = ConstantExpr::getICmp((yyvsp[(2) - (7)].IPredicate), (yyvsp[(4) - (7)].ConstVal), (yyvsp[(6) - (7)].ConstVal));
+  ;}
+    break;
+
+  case 160:
+#line 1770 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
+    if ((yyvsp[(4) - (7)].ConstVal)->getType() != (yyvsp[(6) - (7)].ConstVal)->getType())
       GEN_ERROR("fcmp operand types must match!");
-    yyval.ConstVal = ConstantExpr::getFCmp(yyvsp[-5].FPredicate, yyvsp[-3].ConstVal, yyvsp[-1].ConstVal);
-  ;
-    break;}
-case 158:
-#line 1758 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
-    if (yyvsp[-1].ConstVal->getType() != Type::Int8Ty)
+    (yyval.ConstVal) = ConstantExpr::getFCmp((yyvsp[(2) - (7)].FPredicate), (yyvsp[(4) - (7)].ConstVal), (yyvsp[(6) - (7)].ConstVal));
+  ;}
+    break;
+
+  case 161:
+#line 1775 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
+    if ((yyvsp[(5) - (6)].ConstVal)->getType() != Type::Int8Ty)
       GEN_ERROR("Shift count for shift constant must be i8 type!");
-    if (!yyvsp[-3].ConstVal->getType()->isInteger())
+    if (!(yyvsp[(3) - (6)].ConstVal)->getType()->isInteger())
       GEN_ERROR("Shift constant expression requires integer operand!");
     CHECK_FOR_ERROR;
-    yyval.ConstVal = ConstantExpr::get(yyvsp[-5].OtherOpVal, yyvsp[-3].ConstVal, yyvsp[-1].ConstVal);
+    (yyval.ConstVal) = ConstantExpr::get((yyvsp[(1) - (6)].OtherOpVal), (yyvsp[(3) - (6)].ConstVal), (yyvsp[(5) - (6)].ConstVal));
     CHECK_FOR_ERROR
-  ;
-    break;}
-case 159:
-#line 1767 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
-    if (!ExtractElementInst::isValidOperands(yyvsp[-3].ConstVal, yyvsp[-1].ConstVal))
+  ;}
+    break;
+
+  case 162:
+#line 1784 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
+    if (!ExtractElementInst::isValidOperands((yyvsp[(3) - (6)].ConstVal), (yyvsp[(5) - (6)].ConstVal)))
       GEN_ERROR("Invalid extractelement operands!");
-    yyval.ConstVal = ConstantExpr::getExtractElement(yyvsp[-3].ConstVal, yyvsp[-1].ConstVal);
+    (yyval.ConstVal) = ConstantExpr::getExtractElement((yyvsp[(3) - (6)].ConstVal), (yyvsp[(5) - (6)].ConstVal));
     CHECK_FOR_ERROR
-  ;
-    break;}
-case 160:
-#line 1773 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
-    if (!InsertElementInst::isValidOperands(yyvsp[-5].ConstVal, yyvsp[-3].ConstVal, yyvsp[-1].ConstVal))
+  ;}
+    break;
+
+  case 163:
+#line 1790 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
+    if (!InsertElementInst::isValidOperands((yyvsp[(3) - (8)].ConstVal), (yyvsp[(5) - (8)].ConstVal), (yyvsp[(7) - (8)].ConstVal)))
       GEN_ERROR("Invalid insertelement operands!");
-    yyval.ConstVal = ConstantExpr::getInsertElement(yyvsp[-5].ConstVal, yyvsp[-3].ConstVal, yyvsp[-1].ConstVal);
+    (yyval.ConstVal) = ConstantExpr::getInsertElement((yyvsp[(3) - (8)].ConstVal), (yyvsp[(5) - (8)].ConstVal), (yyvsp[(7) - (8)].ConstVal));
     CHECK_FOR_ERROR
-  ;
-    break;}
-case 161:
-#line 1779 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
-    if (!ShuffleVectorInst::isValidOperands(yyvsp[-5].ConstVal, yyvsp[-3].ConstVal, yyvsp[-1].ConstVal))
+  ;}
+    break;
+
+  case 164:
+#line 1796 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
+    if (!ShuffleVectorInst::isValidOperands((yyvsp[(3) - (8)].ConstVal), (yyvsp[(5) - (8)].ConstVal), (yyvsp[(7) - (8)].ConstVal)))
       GEN_ERROR("Invalid shufflevector operands!");
-    yyval.ConstVal = ConstantExpr::getShuffleVector(yyvsp[-5].ConstVal, yyvsp[-3].ConstVal, yyvsp[-1].ConstVal);
+    (yyval.ConstVal) = ConstantExpr::getShuffleVector((yyvsp[(3) - (8)].ConstVal), (yyvsp[(5) - (8)].ConstVal), (yyvsp[(7) - (8)].ConstVal));
     CHECK_FOR_ERROR
-  ;
-    break;}
-case 162:
-#line 1788 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
-    (yyval.ConstVector = yyvsp[-2].ConstVector)->push_back(yyvsp[0].ConstVal);
+  ;}
+    break;
+
+  case 165:
+#line 1805 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
+    ((yyval.ConstVector) = (yyvsp[(1) - (3)].ConstVector))->push_back((yyvsp[(3) - (3)].ConstVal));
     CHECK_FOR_ERROR
-  ;
-    break;}
-case 163:
-#line 1792 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
-    yyval.ConstVector = new std::vector<Constant*>();
-    yyval.ConstVector->push_back(yyvsp[0].ConstVal);
+  ;}
+    break;
+
+  case 166:
+#line 1809 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
+    (yyval.ConstVector) = new std::vector<Constant*>();
+    (yyval.ConstVector)->push_back((yyvsp[(1) - (1)].ConstVal));
     CHECK_FOR_ERROR
-  ;
-    break;}
-case 164:
-#line 1800 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{ yyval.BoolVal = false; ;
-    break;}
-case 165:
-#line 1800 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{ yyval.BoolVal = true; ;
-    break;}
-case 166:
-#line 1811 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
-    yyval.ModuleVal = ParserResult = CurModule.CurrentModule;
+  ;}
+    break;
+
+  case 167:
+#line 1817 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.BoolVal) = false; ;}
+    break;
+
+  case 168:
+#line 1817 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.BoolVal) = true; ;}
+    break;
+
+  case 169:
+#line 1828 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
+    (yyval.ModuleVal) = ParserResult = CurModule.CurrentModule;
     CurModule.ModuleDone();
     CHECK_FOR_ERROR;
-  ;
-    break;}
-case 167:
-#line 1816 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
-    yyval.ModuleVal = ParserResult = CurModule.CurrentModule;
+  ;}
+    break;
+
+  case 170:
+#line 1833 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
+    (yyval.ModuleVal) = ParserResult = CurModule.CurrentModule;
     CurModule.ModuleDone();
     CHECK_FOR_ERROR;
-  ;
-    break;}
-case 170:
-#line 1829 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{ CurFun.isDeclare = false ;
-    break;}
-case 171:
-#line 1829 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
+  ;}
+    break;
+
+  case 173:
+#line 1846 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    { CurFun.isDeclare = false ;}
+    break;
+
+  case 174:
+#line 1846 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
     CurFun.FunctionDone();
     CHECK_FOR_ERROR
-  ;
-    break;}
-case 172:
-#line 1833 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{ CurFun.isDeclare = true; ;
-    break;}
-case 173:
-#line 1833 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
+  ;}
+    break;
+
+  case 175:
+#line 1850 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    { CurFun.isDeclare = true; ;}
+    break;
+
+  case 176:
+#line 1850 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
     CHECK_FOR_ERROR
-  ;
-    break;}
-case 174:
-#line 1836 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
+  ;}
+    break;
+
+  case 177:
+#line 1853 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
     CHECK_FOR_ERROR
-  ;
-    break;}
-case 175:
-#line 1839 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
+  ;}
+    break;
+
+  case 178:
+#line 1856 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
     // Emit an error if there are any unresolved types left.
     if (!CurModule.LateResolveTypes.empty()) {
       const ValID &DID = CurModule.LateResolveTypes.begin()->first;
@@ -3492,13 +4475,14 @@
       }
     }
     CHECK_FOR_ERROR
-  ;
-    break;}
-case 176:
-#line 1851 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
+  ;}
+    break;
+
+  case 179:
+#line 1868 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
     if (!UpRefs.empty())
-      GEN_ERROR("Invalid upreference in type: " + (*yyvsp[0].TypeVal)->getDescription());
+      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(3) - (3)].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:
     //
@@ -3508,256 +4492,283 @@
     // If types are not resolved eagerly, then the two types will not be
     // determined to be the same type!
     //
-    ResolveTypeTo(yyvsp[-2].StrVal, *yyvsp[0].TypeVal);
+    ResolveTypeTo((yyvsp[(1) - (3)].StrVal), *(yyvsp[(3) - (3)].TypeVal));
 
-    if (!setTypeName(*yyvsp[0].TypeVal, yyvsp[-2].StrVal) && !yyvsp[-2].StrVal) {
+    if (!setTypeName(*(yyvsp[(3) - (3)].TypeVal), (yyvsp[(1) - (3)].StrVal)) && !(yyvsp[(1) - (3)].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[0].TypeVal);
+      CurModule.Types.push_back(*(yyvsp[(3) - (3)].TypeVal));
     }
 
-    delete yyvsp[0].TypeVal;
+    delete (yyvsp[(3) - (3)].TypeVal);
     CHECK_FOR_ERROR
-  ;
-    break;}
-case 177:
-#line 1875 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
-    ResolveTypeTo(yyvsp[-2].StrVal, yyvsp[0].PrimType);
+  ;}
+    break;
 
-    if (!setTypeName(yyvsp[0].PrimType, yyvsp[-2].StrVal) && !yyvsp[-2].StrVal) {
+  case 180:
+#line 1892 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
+    ResolveTypeTo((yyvsp[(1) - (3)].StrVal), (yyvsp[(3) - (3)].PrimType));
+
+    if (!setTypeName((yyvsp[(3) - (3)].PrimType), (yyvsp[(1) - (3)].StrVal)) && !(yyvsp[(1) - (3)].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[0].PrimType);
+      CurModule.Types.push_back((yyvsp[(3) - (3)].PrimType));
     }
     CHECK_FOR_ERROR
-  ;
-    break;}
-case 178:
-#line 1886 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{ /* "Externally Visible" Linkage */
-    if (yyvsp[0].ConstVal == 0) 
+  ;}
+    break;
+
+  case 181:
+#line 1903 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    { /* "Externally Visible" Linkage */
+    if ((yyvsp[(4) - (4)].ConstVal) == 0) 
       GEN_ERROR("Global value initializer is not a constant!");
-    CurGV = ParseGlobalVariable(yyvsp[-2].StrVal, GlobalValue::ExternalLinkage, yyvsp[-1].BoolVal, 
-                                yyvsp[0].ConstVal->getType(), yyvsp[0].ConstVal);
+    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));
     CHECK_FOR_ERROR
-  ;
-    break;}
-case 179:
-#line 1892 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
+  ;}
+    break;
+
+  case 182:
+#line 1909 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
     CurGV = 0;
-  ;
-    break;}
-case 180:
-#line 1895 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
-    if (yyvsp[0].ConstVal == 0) 
+  ;}
+    break;
+
+  case 183:
+#line 1912 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
+    if ((yyvsp[(5) - (5)].ConstVal) == 0) 
       GEN_ERROR("Global value initializer is not a constant!");
-    CurGV = ParseGlobalVariable(yyvsp[-3].StrVal, yyvsp[-2].Linkage, yyvsp[-1].BoolVal, yyvsp[0].ConstVal->getType(), yyvsp[0].ConstVal);
+    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));
     CHECK_FOR_ERROR
-  ;
-    break;}
-case 181:
-#line 1900 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
+  ;}
+    break;
+
+  case 184:
+#line 1917 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
     CurGV = 0;
-  ;
-    break;}
-case 182:
-#line 1903 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
+  ;}
+    break;
+
+  case 185:
+#line 1920 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
     if (!UpRefs.empty())
-      GEN_ERROR("Invalid upreference in type: " + (*yyvsp[0].TypeVal)->getDescription());
-    CurGV = ParseGlobalVariable(yyvsp[-3].StrVal, yyvsp[-2].Linkage, yyvsp[-1].BoolVal, *yyvsp[0].TypeVal, 0);
+      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);
     CHECK_FOR_ERROR
-    delete yyvsp[0].TypeVal;
-  ;
-    break;}
-case 183:
-#line 1909 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
+    delete (yyvsp[(5) - (5)].TypeVal);
+  ;}
+    break;
+
+  case 186:
+#line 1926 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
     CurGV = 0;
     CHECK_FOR_ERROR
-  ;
-    break;}
-case 184:
-#line 1913 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{ 
-    CHECK_FOR_ERROR
-  ;
-    break;}
-case 185:
-#line 1916 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
+  ;}
+    break;
+
+  case 187:
+#line 1930 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    { 
     CHECK_FOR_ERROR
-  ;
-    break;}
-case 186:
-#line 1922 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
+  ;}
+    break;
+
+  case 188:
+#line 1933 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
+    CHECK_FOR_ERROR
+  ;}
+    break;
+
+  case 189:
+#line 1939 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
   const std::string &AsmSoFar = CurModule.CurrentModule->getModuleInlineAsm();
-  char *EndStr = UnEscapeLexed(yyvsp[0].StrVal, true);
-  std::string NewAsm(yyvsp[0].StrVal, EndStr);
-  free(yyvsp[0].StrVal);
+  char *EndStr = UnEscapeLexed((yyvsp[(1) - (1)].StrVal), true);
+  std::string NewAsm((yyvsp[(1) - (1)].StrVal), EndStr);
+  free((yyvsp[(1) - (1)].StrVal));
 
   if (AsmSoFar.empty())
     CurModule.CurrentModule->setModuleInlineAsm(NewAsm);
   else
     CurModule.CurrentModule->setModuleInlineAsm(AsmSoFar+"\n"+NewAsm);
   CHECK_FOR_ERROR
-;
-    break;}
-case 187:
-#line 1935 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{ yyval.Endianness = Module::BigEndian; ;
-    break;}
-case 188:
-#line 1936 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{ yyval.Endianness = Module::LittleEndian; ;
-    break;}
-case 189:
-#line 1938 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
-    CurModule.CurrentModule->setEndianness(yyvsp[0].Endianness);
+;}
+    break;
+
+  case 190:
+#line 1952 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.Endianness) = Module::BigEndian; ;}
+    break;
+
+  case 191:
+#line 1953 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.Endianness) = Module::LittleEndian; ;}
+    break;
+
+  case 192:
+#line 1955 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
+    CurModule.CurrentModule->setEndianness((yyvsp[(3) - (3)].Endianness));
     CHECK_FOR_ERROR
-  ;
-    break;}
-case 190:
-#line 1942 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
-    if (yyvsp[0].UInt64Val == 32)
+  ;}
+    break;
+
+  case 193:
+#line 1959 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
+    if ((yyvsp[(3) - (3)].UInt64Val) == 32)
       CurModule.CurrentModule->setPointerSize(Module::Pointer32);
-    else if (yyvsp[0].UInt64Val == 64)
+    else if ((yyvsp[(3) - (3)].UInt64Val) == 64)
       CurModule.CurrentModule->setPointerSize(Module::Pointer64);
     else
-      GEN_ERROR("Invalid pointer size: '" + utostr(yyvsp[0].UInt64Val) + "'!");
+      GEN_ERROR("Invalid pointer size: '" + utostr((yyvsp[(3) - (3)].UInt64Val)) + "'!");
     CHECK_FOR_ERROR
-  ;
-    break;}
-case 191:
-#line 1951 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
-    CurModule.CurrentModule->setTargetTriple(yyvsp[0].StrVal);
-    free(yyvsp[0].StrVal);
-  ;
-    break;}
-case 192:
-#line 1955 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
-    CurModule.CurrentModule->setDataLayout(yyvsp[0].StrVal);
-    free(yyvsp[0].StrVal);
-  ;
-    break;}
-case 194:
-#line 1962 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
-          CurModule.CurrentModule->addLibrary(yyvsp[0].StrVal);
-          free(yyvsp[0].StrVal);
+  ;}
+    break;
+
+  case 194:
+#line 1968 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
+    CurModule.CurrentModule->setTargetTriple((yyvsp[(3) - (3)].StrVal));
+    free((yyvsp[(3) - (3)].StrVal));
+  ;}
+    break;
+
+  case 195:
+#line 1972 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
+    CurModule.CurrentModule->setDataLayout((yyvsp[(3) - (3)].StrVal));
+    free((yyvsp[(3) - (3)].StrVal));
+  ;}
+    break;
+
+  case 197:
+#line 1979 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
+          CurModule.CurrentModule->addLibrary((yyvsp[(3) - (3)].StrVal));
+          free((yyvsp[(3) - (3)].StrVal));
           CHECK_FOR_ERROR
-        ;
-    break;}
-case 195:
-#line 1967 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
-          CurModule.CurrentModule->addLibrary(yyvsp[0].StrVal);
-          free(yyvsp[0].StrVal);
+        ;}
+    break;
+
+  case 198:
+#line 1984 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
+          CurModule.CurrentModule->addLibrary((yyvsp[(1) - (1)].StrVal));
+          free((yyvsp[(1) - (1)].StrVal));
           CHECK_FOR_ERROR
-        ;
-    break;}
-case 196:
-#line 1972 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
+        ;}
+    break;
+
+  case 199:
+#line 1989 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
           CHECK_FOR_ERROR
-        ;
-    break;}
-case 200:
-#line 1982 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{ yyval.StrVal = 0; ;
-    break;}
-case 201:
-#line 1984 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
+        ;}
+    break;
+
+  case 203:
+#line 1999 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.StrVal) = 0; ;}
+    break;
+
+  case 204:
+#line 2001 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
     if (!UpRefs.empty())
-      GEN_ERROR("Invalid upreference in type: " + (*yyvsp[-2].TypeVal)->getDescription());
-    if (*yyvsp[-2].TypeVal == Type::VoidTy)
+      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(3) - (5)].TypeVal))->getDescription());
+    if (*(yyvsp[(3) - (5)].TypeVal) == Type::VoidTy)
       GEN_ERROR("void typed arguments are invalid!");
-    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 202:
-#line 1994 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
+    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);
+    CHECK_FOR_ERROR
+  ;}
+    break;
+
+  case 205:
+#line 2011 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
     if (!UpRefs.empty())
-      GEN_ERROR("Invalid upreference in type: " + (*yyvsp[-2].TypeVal)->getDescription());
-    if (*yyvsp[-2].TypeVal == Type::VoidTy)
+      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (3)].TypeVal))->getDescription());
+    if (*(yyvsp[(1) - (3)].TypeVal) == Type::VoidTy)
       GEN_ERROR("void typed arguments are invalid!");
-    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 203:
-#line 2005 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
-    yyval.ArgList = yyvsp[0].ArgList;
+    ArgListEntry E; E.Attrs = (yyvsp[(2) - (3)].ParamAttrs); E.Ty = (yyvsp[(1) - (3)].TypeVal); E.Name = (yyvsp[(3) - (3)].StrVal);
+    (yyval.ArgList) = new ArgListType;
+    (yyval.ArgList)->push_back(E);
     CHECK_FOR_ERROR
-  ;
-    break;}
-case 204:
-#line 2009 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
-    yyval.ArgList = yyvsp[-2].ArgList;
+  ;}
+    break;
+
+  case 206:
+#line 2022 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
+    (yyval.ArgList) = (yyvsp[(1) - (1)].ArgList);
+    CHECK_FOR_ERROR
+  ;}
+    break;
+
+  case 207:
+#line 2026 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
+    (yyval.ArgList) = (yyvsp[(1) - (3)].ArgList);
     struct ArgListEntry E;
     E.Ty = new PATypeHolder(Type::VoidTy);
     E.Name = 0;
     E.Attrs = FunctionType::NoAttributeSet;
-    yyval.ArgList->push_back(E);
+    (yyval.ArgList)->push_back(E);
     CHECK_FOR_ERROR
-  ;
-    break;}
-case 205:
-#line 2018 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
-    yyval.ArgList = new ArgListType;
+  ;}
+    break;
+
+  case 208:
+#line 2035 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
+    (yyval.ArgList) = new ArgListType;
     struct ArgListEntry E;
     E.Ty = new PATypeHolder(Type::VoidTy);
     E.Name = 0;
     E.Attrs = FunctionType::NoAttributeSet;
-    yyval.ArgList->push_back(E);
+    (yyval.ArgList)->push_back(E);
     CHECK_FOR_ERROR
-  ;
-    break;}
-case 206:
-#line 2027 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
-    yyval.ArgList = 0;
+  ;}
+    break;
+
+  case 209:
+#line 2044 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
+    (yyval.ArgList) = 0;
     CHECK_FOR_ERROR
-  ;
-    break;}
-case 207:
-#line 2033 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
-  UnEscapeLexed(yyvsp[-6].StrVal);
-  std::string FunctionName(yyvsp[-6].StrVal);
-  free(yyvsp[-6].StrVal);  // Free strdup'd memory!
+  ;}
+    break;
+
+  case 210:
+#line 2050 "/home/asl/proj/llvm/src/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!
   
   // 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[-7].TypeVal))
-    GEN_ERROR("Reference to abstract result: "+ yyvsp[-7].TypeVal->get()->getDescription());
+  if (!CurFun.isDeclare && CurModule.TypeIsUnresolved((yyvsp[(2) - (9)].TypeVal)))
+    GEN_ERROR("Reference to abstract result: "+ (yyvsp[(2) - (9)].TypeVal)->get()->getDescription());
 
   std::vector<const Type*> ParamTypeList;
   std::vector<FunctionType::ParameterAttributes> ParamAttrs;
-  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) {
+  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) {
       const Type* Ty = I->Ty->get();
       if (!CurFun.isDeclare && CurModule.TypeIsUnresolved(I->Ty))
         GEN_ERROR("Reference to abstract argument: " + Ty->getDescription());
@@ -3770,10 +4781,10 @@
   bool isVarArg = ParamTypeList.size() && ParamTypeList.back() == Type::VoidTy;
   if (isVarArg) ParamTypeList.pop_back();
 
-  FunctionType *FT = FunctionType::get(*yyvsp[-7].TypeVal, ParamTypeList, isVarArg,
+  FunctionType *FT = FunctionType::get(*(yyvsp[(2) - (9)].TypeVal), ParamTypeList, isVarArg,
                                        ParamAttrs);
   const PointerType *PFT = PointerType::get(FT);
-  delete yyvsp[-7].TypeVal;
+  delete (yyvsp[(2) - (9)].TypeVal);
 
   ValID ID;
   if (!FunctionName.empty()) {
@@ -3816,25 +4827,26 @@
     // correctly handle cases, when pointer to function is passed as argument to
     // another function.
     Fn->setLinkage(CurFun.Linkage);
+    Fn->setVisibility(CurFun.Visibility);
   }
-  Fn->setCallingConv(yyvsp[-8].UIntVal);
-  Fn->setAlignment(yyvsp[0].UIntVal);
-  if (yyvsp[-1].StrVal) {
-    Fn->setSection(yyvsp[-1].StrVal);
-    free(yyvsp[-1].StrVal);
+  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));
   }
 
   // Add all of the arguments we parsed to the function...
-  if (yyvsp[-4].ArgList) {                     // Is null if empty...
+  if ((yyvsp[(5) - (9)].ArgList)) {                     // Is null if empty...
     if (isVarArg) {  // Nuke the last entry
-      assert(yyvsp[-4].ArgList->back().Ty->get() == Type::VoidTy && yyvsp[-4].ArgList->back().Name == 0&&
+      assert((yyvsp[(5) - (9)].ArgList)->back().Ty->get() == Type::VoidTy && (yyvsp[(5) - (9)].ArgList)->back().Name == 0&&
              "Not a varargs marker!");
-      delete yyvsp[-4].ArgList->back().Ty;
-      yyvsp[-4].ArgList->pop_back();  // Delete the last entry
+      delete (yyvsp[(5) - (9)].ArgList)->back().Ty;
+      (yyvsp[(5) - (9)].ArgList)->pop_back();  // Delete the last entry
     }
     Function::arg_iterator ArgIt = Fn->arg_begin();
     unsigned Idx = 1;
-    for (ArgListType::iterator I = yyvsp[-4].ArgList->begin(); I != yyvsp[-4].ArgList->end(); ++I, ++ArgIt) {
+    for (ArgListType::iterator I = (yyvsp[(5) - (9)].ArgList)->begin(); I != (yyvsp[(5) - (9)].ArgList)->end(); ++I, ++ArgIt) {
       delete I->Ty;                          // Delete the typeholder...
       setValueName(ArgIt, I->Name);           // Insert arg into symtab...
       CHECK_FOR_ERROR
@@ -3842,112 +4854,128 @@
       Idx++;
     }
 
-    delete yyvsp[-4].ArgList;                     // We're now done with the argument list
+    delete (yyvsp[(5) - (9)].ArgList);                     // We're now done with the argument list
   }
   CHECK_FOR_ERROR
-;
-    break;}
-case 210:
-#line 2139 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
-  yyval.FunctionVal = CurFun.CurrentFunction;
+;}
+    break;
+
+  case 213:
+#line 2157 "/home/asl/proj/llvm/src/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[-2].Linkage);
-;
-    break;}
-case 213:
-#line 2149 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
-  yyval.FunctionVal = yyvsp[-1].FunctionVal;
+  (yyval.FunctionVal)->setLinkage((yyvsp[(1) - (4)].Linkage));
+  (yyval.FunctionVal)->setVisibility((yyvsp[(2) - (4)].Visibility));
+;}
+    break;
+
+  case 216:
+#line 2168 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
+  (yyval.FunctionVal) = (yyvsp[(1) - (2)].FunctionVal);
   CHECK_FOR_ERROR
-;
-    break;}
-case 214:
-#line 2154 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
-    CurFun.CurrentFunction->setLinkage(yyvsp[-1].Linkage);
-    yyval.FunctionVal = CurFun.CurrentFunction;
+;}
+    break;
+
+  case 217:
+#line 2173 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
+    CurFun.CurrentFunction->setLinkage((yyvsp[(1) - (3)].Linkage));
+    CurFun.CurrentFunction->setVisibility((yyvsp[(2) - (3)].Visibility));
+    (yyval.FunctionVal) = CurFun.CurrentFunction;
     CurFun.FunctionDone();
     CHECK_FOR_ERROR
-  ;
-    break;}
-case 215:
-#line 2165 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
-    yyval.BoolVal = false;
+  ;}
+    break;
+
+  case 218:
+#line 2185 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
+    (yyval.BoolVal) = false;
     CHECK_FOR_ERROR
-  ;
-    break;}
-case 216:
-#line 2169 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
-    yyval.BoolVal = true;
+  ;}
+    break;
+
+  case 219:
+#line 2189 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
+    (yyval.BoolVal) = true;
     CHECK_FOR_ERROR
-  ;
-    break;}
-case 217:
-#line 2174 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{    // A reference to a direct constant
-    yyval.ValIDVal = ValID::create(yyvsp[0].SInt64Val);
-    CHECK_FOR_ERROR
-  ;
-    break;}
-case 218:
-#line 2178 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
-    yyval.ValIDVal = ValID::create(yyvsp[0].UInt64Val);
+  ;}
+    break;
+
+  case 220:
+#line 2194 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {    // A reference to a direct constant
+    (yyval.ValIDVal) = ValID::create((yyvsp[(1) - (1)].SInt64Val));
     CHECK_FOR_ERROR
-  ;
-    break;}
-case 219:
-#line 2182 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{                     // Perhaps it's an FP constant?
-    yyval.ValIDVal = ValID::create(yyvsp[0].FPVal);
-    CHECK_FOR_ERROR
-  ;
-    break;}
-case 220:
-#line 2186 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
-    yyval.ValIDVal = ValID::create(ConstantInt::getTrue());
+  ;}
+    break;
+
+  case 221:
+#line 2198 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
+    (yyval.ValIDVal) = ValID::create((yyvsp[(1) - (1)].UInt64Val));
     CHECK_FOR_ERROR
-  ;
-    break;}
-case 221:
-#line 2190 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
-    yyval.ValIDVal = ValID::create(ConstantInt::getFalse());
+  ;}
+    break;
+
+  case 222:
+#line 2202 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {                     // Perhaps it's an FP constant?
+    (yyval.ValIDVal) = ValID::create((yyvsp[(1) - (1)].FPVal));
     CHECK_FOR_ERROR
-  ;
-    break;}
-case 222:
-#line 2194 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
-    yyval.ValIDVal = ValID::createNull();
+  ;}
+    break;
+
+  case 223:
+#line 2206 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
+    (yyval.ValIDVal) = ValID::create(ConstantInt::getTrue());
     CHECK_FOR_ERROR
-  ;
-    break;}
-case 223:
-#line 2198 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
-    yyval.ValIDVal = ValID::createUndef();
+  ;}
+    break;
+
+  case 224:
+#line 2210 "/home/asl/proj/llvm/src/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"
+    {
+    (yyval.ValIDVal) = ValID::createNull();
+    CHECK_FOR_ERROR
+  ;}
+    break;
+
+  case 226:
+#line 2218 "/home/asl/proj/llvm/src/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"
+    {     // A vector zero constant.
+    (yyval.ValIDVal) = ValID::createZeroInit();
     CHECK_FOR_ERROR
-  ;
-    break;}
-case 224:
-#line 2202 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{     // A vector zero constant.
-    yyval.ValIDVal = ValID::createZeroInit();
-    CHECK_FOR_ERROR
-  ;
-    break;}
-case 225:
-#line 2206 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{ // Nonempty unsized packed vector
-    const Type *ETy = (*yyvsp[-1].ConstVector)[0]->getType();
-    int NumElements = yyvsp[-1].ConstVector->size(); 
+  ;}
+    break;
+
+  case 228:
+#line 2226 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    { // Nonempty unsized packed vector
+    const Type *ETy = (*(yyvsp[(2) - (3)].ConstVector))[0]->getType();
+    int NumElements = (yyvsp[(2) - (3)].ConstVector)->size(); 
     
     PackedType* pt = PackedType::get(ETy, NumElements);
     PATypeHolder* PTy = new PATypeHolder(
@@ -3959,105 +4987,115 @@
                                          );
     
     // Verify all elements are correct type!
-    for (unsigned i = 0; i < yyvsp[-1].ConstVector->size(); i++) {
-      if (ETy != (*yyvsp[-1].ConstVector)[i]->getType())
+    for (unsigned i = 0; i < (yyvsp[(2) - (3)].ConstVector)->size(); i++) {
+      if (ETy != (*(yyvsp[(2) - (3)].ConstVector))[i]->getType())
         GEN_ERROR("Element #" + utostr(i) + " is not of type '" + 
                      ETy->getDescription() +"' as required!\nIt is of type '" +
-                     (*yyvsp[-1].ConstVector)[i]->getType()->getDescription() + "'.");
+                     (*(yyvsp[(2) - (3)].ConstVector))[i]->getType()->getDescription() + "'.");
     }
 
-    yyval.ValIDVal = ValID::create(ConstantPacked::get(pt, *yyvsp[-1].ConstVector));
-    delete PTy; delete yyvsp[-1].ConstVector;
+    (yyval.ValIDVal) = ValID::create(ConstantPacked::get(pt, *(yyvsp[(2) - (3)].ConstVector)));
+    delete PTy; delete (yyvsp[(2) - (3)].ConstVector);
     CHECK_FOR_ERROR
-  ;
-    break;}
-case 226:
-#line 2231 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
-    yyval.ValIDVal = ValID::create(yyvsp[0].ConstVal);
+  ;}
+    break;
+
+  case 229:
+#line 2251 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
+    (yyval.ValIDVal) = ValID::create((yyvsp[(1) - (1)].ConstVal));
     CHECK_FOR_ERROR
-  ;
-    break;}
-case 227:
-#line 2235 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
-    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 228:
-#line 2249 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{  // Is it an integer reference...?
-    yyval.ValIDVal = ValID::create(yyvsp[0].SIntVal);
-    CHECK_FOR_ERROR
-  ;
-    break;}
-case 229:
-#line 2253 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{                   // Is it a named reference...?
-    yyval.ValIDVal = ValID::create(yyvsp[0].StrVal);
-    CHECK_FOR_ERROR
-  ;
-    break;}
-case 232:
-#line 2265 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
+  ;}
+    break;
+
+  case 230:
+#line 2255 "/home/asl/proj/llvm/src/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));
+    CHECK_FOR_ERROR
+  ;}
+    break;
+
+  case 231:
+#line 2269 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {  // Is it an integer reference...?
+    (yyval.ValIDVal) = ValID::create((yyvsp[(1) - (1)].SIntVal));
+    CHECK_FOR_ERROR
+  ;}
+    break;
+
+  case 232:
+#line 2273 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {                   // Is it a named reference...?
+    (yyval.ValIDVal) = ValID::create((yyvsp[(1) - (1)].StrVal));
+    CHECK_FOR_ERROR
+  ;}
+    break;
+
+  case 235:
+#line 2285 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
     if (!UpRefs.empty())
-      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 233:
-#line 2274 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
-    yyval.FunctionVal = yyvsp[-1].FunctionVal;
+      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);
     CHECK_FOR_ERROR
-  ;
-    break;}
-case 234:
-#line 2278 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{ // Do not allow functions with 0 basic blocks   
-    yyval.FunctionVal = yyvsp[-1].FunctionVal;
-    CHECK_FOR_ERROR
-  ;
-    break;}
-case 235:
-#line 2287 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
-    setValueName(yyvsp[0].TermInstVal, yyvsp[-1].StrVal);
+  ;}
+    break;
+
+  case 236:
+#line 2294 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
+    (yyval.FunctionVal) = (yyvsp[(1) - (2)].FunctionVal);
     CHECK_FOR_ERROR
-    InsertValue(yyvsp[0].TermInstVal);
+  ;}
+    break;
 
-    yyvsp[-2].BasicBlockVal->getInstList().push_back(yyvsp[0].TermInstVal);
-    InsertValue(yyvsp[-2].BasicBlockVal);
-    yyval.BasicBlockVal = yyvsp[-2].BasicBlockVal;
-    CHECK_FOR_ERROR
-  ;
-    break;}
-case 236:
-#line 2298 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
-    if (CastInst *CI1 = dyn_cast<CastInst>(yyvsp[0].InstVal))
+  case 237:
+#line 2298 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    { // Do not allow functions with 0 basic blocks   
+    (yyval.FunctionVal) = (yyvsp[(1) - (2)].FunctionVal);
+    CHECK_FOR_ERROR
+  ;}
+    break;
+
+  case 238:
+#line 2307 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
+    setValueName((yyvsp[(3) - (3)].TermInstVal), (yyvsp[(2) - (3)].StrVal));
+    CHECK_FOR_ERROR
+    InsertValue((yyvsp[(3) - (3)].TermInstVal));
+
+    (yyvsp[(1) - (3)].BasicBlockVal)->getInstList().push_back((yyvsp[(3) - (3)].TermInstVal));
+    InsertValue((yyvsp[(1) - (3)].BasicBlockVal));
+    (yyval.BasicBlockVal) = (yyvsp[(1) - (3)].BasicBlockVal);
+    CHECK_FOR_ERROR
+  ;}
+    break;
+
+  case 239:
+#line 2318 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
+    if (CastInst *CI1 = dyn_cast<CastInst>((yyvsp[(2) - (2)].InstVal)))
       if (CastInst *CI2 = dyn_cast<CastInst>(CI1->getOperand(0)))
         if (CI2->getParent() == 0)
-          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 237:
-#line 2307 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
-    yyval.BasicBlockVal = getBBVal(ValID::create((int)CurFun.NextBBNum++), true);
+          (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);
+    CHECK_FOR_ERROR
+  ;}
+    break;
+
+  case 240:
+#line 2327 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
+    (yyval.BasicBlockVal) = getBBVal(ValID::create((int)CurFun.NextBBNum++), true);
     CHECK_FOR_ERROR
 
     // Make sure to move the basic block to the correct location in the
@@ -4065,14 +5103,15 @@
     // referenced.
     Function::BasicBlockListType &BBL = 
       CurFun.CurrentFunction->getBasicBlockList();
-    BBL.splice(BBL.end(), BBL, yyval.BasicBlockVal);
+    BBL.splice(BBL.end(), BBL, (yyval.BasicBlockVal));
     CHECK_FOR_ERROR
-  ;
-    break;}
-case 238:
-#line 2319 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
-    yyval.BasicBlockVal = getBBVal(ValID::create(yyvsp[0].StrVal), true);
+  ;}
+    break;
+
+  case 241:
+#line 2339 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
+    (yyval.BasicBlockVal) = getBBVal(ValID::create((yyvsp[(1) - (1)].StrVal)), true);
     CHECK_FOR_ERROR
 
     // Make sure to move the basic block to the correct location in the
@@ -4080,92 +5119,99 @@
     // referenced.
     Function::BasicBlockListType &BBL = 
       CurFun.CurrentFunction->getBasicBlockList();
-    BBL.splice(BBL.end(), BBL, yyval.BasicBlockVal);
+    BBL.splice(BBL.end(), BBL, (yyval.BasicBlockVal));
     CHECK_FOR_ERROR
-  ;
-    break;}
-case 239:
-#line 2332 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{              // Return with a result...
-    yyval.TermInstVal = new ReturnInst(yyvsp[0].ValueVal);
-    CHECK_FOR_ERROR
-  ;
-    break;}
-case 240:
-#line 2336 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{                                       // Return with no result...
-    yyval.TermInstVal = new ReturnInst();
-    CHECK_FOR_ERROR
-  ;
-    break;}
-case 241:
-#line 2340 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{                         // Unconditional Branch...
-    BasicBlock* tmpBB = getBBVal(yyvsp[0].ValIDVal);
-    CHECK_FOR_ERROR
-    yyval.TermInstVal = new BranchInst(tmpBB);
-  ;
-    break;}
-case 242:
-#line 2345 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{  
-    BasicBlock* tmpBBA = getBBVal(yyvsp[-3].ValIDVal);
-    CHECK_FOR_ERROR
-    BasicBlock* tmpBBB = getBBVal(yyvsp[0].ValIDVal);
-    CHECK_FOR_ERROR
-    Value* tmpVal = getVal(Type::Int1Ty, yyvsp[-6].ValIDVal);
-    CHECK_FOR_ERROR
-    yyval.TermInstVal = new BranchInst(tmpBBA, tmpBBB, tmpVal);
-  ;
-    break;}
-case 243:
-#line 2354 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
-    Value* tmpVal = getVal(yyvsp[-7].PrimType, yyvsp[-6].ValIDVal);
+  ;}
+    break;
+
+  case 242:
+#line 2352 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {              // Return with a result...
+    (yyval.TermInstVal) = new ReturnInst((yyvsp[(2) - (2)].ValueVal));
+    CHECK_FOR_ERROR
+  ;}
+    break;
+
+  case 243:
+#line 2356 "/home/asl/proj/llvm/src/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"
+    {                         // Unconditional Branch...
+    BasicBlock* tmpBB = getBBVal((yyvsp[(3) - (3)].ValIDVal));
     CHECK_FOR_ERROR
-    BasicBlock* tmpBB = getBBVal(yyvsp[-3].ValIDVal);
+    (yyval.TermInstVal) = new BranchInst(tmpBB);
+  ;}
+    break;
+
+  case 245:
+#line 2365 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {  
+    BasicBlock* tmpBBA = getBBVal((yyvsp[(6) - (9)].ValIDVal));
+    CHECK_FOR_ERROR
+    BasicBlock* tmpBBB = getBBVal((yyvsp[(9) - (9)].ValIDVal));
+    CHECK_FOR_ERROR
+    Value* tmpVal = getVal(Type::Int1Ty, (yyvsp[(3) - (9)].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"
+    {
+    Value* tmpVal = getVal((yyvsp[(2) - (9)].PrimType), (yyvsp[(3) - (9)].ValIDVal));
     CHECK_FOR_ERROR
-    SwitchInst *S = new SwitchInst(tmpVal, tmpBB, yyvsp[-1].JumpTable->size());
-    yyval.TermInstVal = S;
+    BasicBlock* tmpBB = getBBVal((yyvsp[(6) - (9)].ValIDVal));
+    CHECK_FOR_ERROR
+    SwitchInst *S = new SwitchInst(tmpVal, tmpBB, (yyvsp[(8) - (9)].JumpTable)->size());
+    (yyval.TermInstVal) = S;
 
-    std::vector<std::pair<Constant*,BasicBlock*> >::iterator I = yyvsp[-1].JumpTable->begin(),
-      E = yyvsp[-1].JumpTable->end();
+    std::vector<std::pair<Constant*,BasicBlock*> >::iterator I = (yyvsp[(8) - (9)].JumpTable)->begin(),
+      E = (yyvsp[(8) - (9)].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[-1].JumpTable;
+    delete (yyvsp[(8) - (9)].JumpTable);
     CHECK_FOR_ERROR
-  ;
-    break;}
-case 244:
-#line 2373 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
-    Value* tmpVal = getVal(yyvsp[-6].PrimType, yyvsp[-5].ValIDVal);
+  ;}
+    break;
+
+  case 247:
+#line 2393 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
+    Value* tmpVal = getVal((yyvsp[(2) - (8)].PrimType), (yyvsp[(3) - (8)].ValIDVal));
     CHECK_FOR_ERROR
-    BasicBlock* tmpBB = getBBVal(yyvsp[-2].ValIDVal);
+    BasicBlock* tmpBB = getBBVal((yyvsp[(6) - (8)].ValIDVal));
     CHECK_FOR_ERROR
     SwitchInst *S = new SwitchInst(tmpVal, tmpBB, 0);
-    yyval.TermInstVal = S;
+    (yyval.TermInstVal) = S;
     CHECK_FOR_ERROR
-  ;
-    break;}
-case 245:
-#line 2383 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
+  ;}
+    break;
+
+  case 248:
+#line 2403 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
 
     // Handle the short syntax
     const PointerType *PFTy = 0;
     const FunctionType *Ty = 0;
-    if (!(PFTy = dyn_cast<PointerType>(yyvsp[-11].TypeVal->get())) ||
+    if (!(PFTy = dyn_cast<PointerType>((yyvsp[(3) - (14)].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[-6].ParamAttrs);
-      for (ValueRefList::iterator I = yyvsp[-8].ValueRefList->begin(), E = yyvsp[-8].ValueRefList->end(); I != E; ++I) {
+      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) {
         const Type *Ty = I->Val->getType();
         if (Ty == Type::VoidTy)
           GEN_ERROR("Short call syntax cannot be used with varargs");
@@ -4173,20 +5219,20 @@
         ParamAttrs.push_back(I->Attrs);
       }
 
-      Ty = FunctionType::get(yyvsp[-11].TypeVal->get(), ParamTypes, false, ParamAttrs);
+      Ty = FunctionType::get((yyvsp[(3) - (14)].TypeVal)->get(), ParamTypes, false, ParamAttrs);
       PFTy = PointerType::get(Ty);
     }
 
-    Value *V = getVal(PFTy, yyvsp[-10].ValIDVal);   // Get the function we're calling...
+    Value *V = getVal(PFTy, (yyvsp[(4) - (14)].ValIDVal));   // Get the function we're calling...
     CHECK_FOR_ERROR
-    BasicBlock *Normal = getBBVal(yyvsp[-3].ValIDVal);
+    BasicBlock *Normal = getBBVal((yyvsp[(11) - (14)].ValIDVal));
     CHECK_FOR_ERROR
-    BasicBlock *Except = getBBVal(yyvsp[0].ValIDVal);
+    BasicBlock *Except = getBBVal((yyvsp[(14) - (14)].ValIDVal));
     CHECK_FOR_ERROR
 
     // Check the arguments
     ValueList Args;
-    if (yyvsp[-8].ValueRefList->empty()) {                                   // Has no arguments?
+    if ((yyvsp[(6) - (14)].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 "
@@ -4196,7 +5242,7 @@
       // correctly!
       FunctionType::param_iterator I = Ty->param_begin();
       FunctionType::param_iterator E = Ty->param_end();
-      ValueRefList::iterator ArgI = yyvsp[-8].ValueRefList->begin(), ArgE = yyvsp[-8].ValueRefList->end();
+      ValueRefList::iterator ArgI = (yyvsp[(6) - (14)].ValueRefList)->begin(), ArgE = (yyvsp[(6) - (14)].ValueRefList)->end();
 
       for (; ArgI != ArgE && I != E; ++ArgI, ++I) {
         if (ArgI->Val->getType() != *I)
@@ -4215,327 +5261,354 @@
 
     // Create the InvokeInst
     InvokeInst *II = new InvokeInst(V, Normal, Except, Args);
-    II->setCallingConv(yyvsp[-12].UIntVal);
-    yyval.TermInstVal = II;
-    delete yyvsp[-8].ValueRefList;
-    CHECK_FOR_ERROR
-  ;
-    break;}
-case 246:
-#line 2449 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
-    yyval.TermInstVal = new UnwindInst();
+    II->setCallingConv((yyvsp[(2) - (14)].UIntVal));
+    (yyval.TermInstVal) = II;
+    delete (yyvsp[(6) - (14)].ValueRefList);
     CHECK_FOR_ERROR
-  ;
-    break;}
-case 247:
-#line 2453 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
-    yyval.TermInstVal = new UnreachableInst();
+  ;}
+    break;
+
+  case 249:
+#line 2469 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
+    (yyval.TermInstVal) = new UnwindInst();
     CHECK_FOR_ERROR
-  ;
-    break;}
-case 248:
-#line 2460 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
-    yyval.JumpTable = yyvsp[-5].JumpTable;
-    Constant *V = cast<Constant>(getValNonImprovising(yyvsp[-4].PrimType, yyvsp[-3].ValIDVal));
+  ;}
+    break;
+
+  case 250:
+#line 2473 "/home/asl/proj/llvm/src/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"
+    {
+    (yyval.JumpTable) = (yyvsp[(1) - (6)].JumpTable);
+    Constant *V = cast<Constant>(getValNonImprovising((yyvsp[(2) - (6)].PrimType), (yyvsp[(3) - (6)].ValIDVal)));
     CHECK_FOR_ERROR
     if (V == 0)
       GEN_ERROR("May only switch on a constant pool value!");
 
-    BasicBlock* tmpBB = getBBVal(yyvsp[0].ValIDVal);
+    BasicBlock* tmpBB = getBBVal((yyvsp[(6) - (6)].ValIDVal));
     CHECK_FOR_ERROR
-    yyval.JumpTable->push_back(std::make_pair(V, tmpBB));
-  ;
-    break;}
-case 249:
-#line 2471 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
-    yyval.JumpTable = new std::vector<std::pair<Constant*, BasicBlock*> >();
-    Constant *V = cast<Constant>(getValNonImprovising(yyvsp[-4].PrimType, yyvsp[-3].ValIDVal));
+    (yyval.JumpTable)->push_back(std::make_pair(V, tmpBB));
+  ;}
+    break;
+
+  case 252:
+#line 2491 "/home/asl/proj/llvm/src/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)));
     CHECK_FOR_ERROR
 
     if (V == 0)
       GEN_ERROR("May only switch on a constant pool value!");
 
-    BasicBlock* tmpBB = getBBVal(yyvsp[0].ValIDVal);
+    BasicBlock* tmpBB = getBBVal((yyvsp[(5) - (5)].ValIDVal));
     CHECK_FOR_ERROR
-    yyval.JumpTable->push_back(std::make_pair(V, tmpBB)); 
-  ;
-    break;}
-case 250:
-#line 2484 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
+    (yyval.JumpTable)->push_back(std::make_pair(V, tmpBB)); 
+  ;}
+    break;
+
+  case 253:
+#line 2504 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
   // Is this definition named?? if so, assign the name...
-  setValueName(yyvsp[0].InstVal, yyvsp[-1].StrVal);
+  setValueName((yyvsp[(2) - (2)].InstVal), (yyvsp[(1) - (2)].StrVal));
   CHECK_FOR_ERROR
-  InsertValue(yyvsp[0].InstVal);
-  yyval.InstVal = yyvsp[0].InstVal;
+  InsertValue((yyvsp[(2) - (2)].InstVal));
+  (yyval.InstVal) = (yyvsp[(2) - (2)].InstVal);
   CHECK_FOR_ERROR
-;
-    break;}
-case 251:
-#line 2493 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{    // Used for PHI nodes
+;}
+    break;
+
+  case 254:
+#line 2513 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {    // Used for PHI nodes
     if (!UpRefs.empty())
-      GEN_ERROR("Invalid upreference in type: " + (*yyvsp[-5].TypeVal)->getDescription());
-    yyval.PHIList = new std::list<std::pair<Value*, BasicBlock*> >();
-    Value* tmpVal = getVal(*yyvsp[-5].TypeVal, yyvsp[-3].ValIDVal);
-    CHECK_FOR_ERROR
-    BasicBlock* tmpBB = getBBVal(yyvsp[-1].ValIDVal);
-    CHECK_FOR_ERROR
-    yyval.PHIList->push_back(std::make_pair(tmpVal, tmpBB));
-    delete yyvsp[-5].TypeVal;
-  ;
-    break;}
-case 252:
-#line 2504 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
-    yyval.PHIList = yyvsp[-6].PHIList;
-    Value* tmpVal = getVal(yyvsp[-6].PHIList->front().first->getType(), yyvsp[-3].ValIDVal);
+      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (6)].TypeVal))->getDescription());
+    (yyval.PHIList) = new std::list<std::pair<Value*, BasicBlock*> >();
+    Value* tmpVal = getVal(*(yyvsp[(1) - (6)].TypeVal), (yyvsp[(3) - (6)].ValIDVal));
+    CHECK_FOR_ERROR
+    BasicBlock* tmpBB = getBBVal((yyvsp[(5) - (6)].ValIDVal));
+    CHECK_FOR_ERROR
+    (yyval.PHIList)->push_back(std::make_pair(tmpVal, tmpBB));
+    delete (yyvsp[(1) - (6)].TypeVal);
+  ;}
+    break;
+
+  case 255:
+#line 2524 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
+    (yyval.PHIList) = (yyvsp[(1) - (7)].PHIList);
+    Value* tmpVal = getVal((yyvsp[(1) - (7)].PHIList)->front().first->getType(), (yyvsp[(4) - (7)].ValIDVal));
     CHECK_FOR_ERROR
-    BasicBlock* tmpBB = getBBVal(yyvsp[-1].ValIDVal);
+    BasicBlock* tmpBB = getBBVal((yyvsp[(6) - (7)].ValIDVal));
     CHECK_FOR_ERROR
-    yyvsp[-6].PHIList->push_back(std::make_pair(tmpVal, tmpBB));
-  ;
-    break;}
-case 253:
-#line 2514 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{    
+    (yyvsp[(1) - (7)].PHIList)->push_back(std::make_pair(tmpVal, tmpBB));
+  ;}
+    break;
+
+  case 256:
+#line 2534 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {    
     if (!UpRefs.empty())
-      GEN_ERROR("Invalid upreference in type: " + (*yyvsp[-2].TypeVal)->getDescription());
+      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (3)].TypeVal))->getDescription());
     // Used for call and invoke instructions
-    yyval.ValueRefList = new ValueRefList();
-    ValueRefListEntry E; E.Attrs = yyvsp[0].ParamAttrs; E.Val = getVal(yyvsp[-2].TypeVal->get(), yyvsp[-1].ValIDVal);
-    yyval.ValueRefList->push_back(E);
-  ;
-    break;}
-case 254:
-#line 2522 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
+    (yyval.ValueRefList) = new ValueRefList();
+    ValueRefListEntry E; E.Attrs = (yyvsp[(3) - (3)].ParamAttrs); E.Val = getVal((yyvsp[(1) - (3)].TypeVal)->get(), (yyvsp[(2) - (3)].ValIDVal));
+    (yyval.ValueRefList)->push_back(E);
+  ;}
+    break;
+
+  case 257:
+#line 2542 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
     if (!UpRefs.empty())
-      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 255:
-#line 2530 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{ yyval.ValueRefList = new ValueRefList(); ;
-    break;}
-case 256:
-#line 2533 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{ yyval.ValueList = new std::vector<Value*>(); ;
-    break;}
-case 257:
-#line 2534 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
-    yyval.ValueList = yyvsp[-2].ValueList;
-    yyval.ValueList->push_back(yyvsp[0].ValueVal);
+      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));
+    (yyval.ValueRefList)->push_back(E);
     CHECK_FOR_ERROR
-  ;
-    break;}
-case 258:
-#line 2541 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
-    yyval.BoolVal = true;
+  ;}
+    break;
+
+  case 258:
+#line 2550 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.ValueRefList) = new ValueRefList(); ;}
+    break;
+
+  case 259:
+#line 2553 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.ValueList) = new std::vector<Value*>(); ;}
+    break;
+
+  case 260:
+#line 2554 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
+    (yyval.ValueList) = (yyvsp[(1) - (3)].ValueList);
+    (yyval.ValueList)->push_back((yyvsp[(3) - (3)].ValueVal));
     CHECK_FOR_ERROR
-  ;
-    break;}
-case 259:
-#line 2545 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
-    yyval.BoolVal = false;
+  ;}
+    break;
+
+  case 261:
+#line 2561 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
+    (yyval.BoolVal) = true;
     CHECK_FOR_ERROR
-  ;
-    break;}
-case 260:
-#line 2550 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
+  ;}
+    break;
+
+  case 262:
+#line 2565 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
+    (yyval.BoolVal) = false;
+    CHECK_FOR_ERROR
+  ;}
+    break;
+
+  case 263:
+#line 2570 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
     if (!UpRefs.empty())
-      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("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(
         "Arithmetic operator requires integer, FP, or packed operands!");
-    if (isa<PackedType>((*yyvsp[-3].TypeVal).get()) && 
-        (yyvsp[-4].BinaryOpVal == Instruction::URem || 
-         yyvsp[-4].BinaryOpVal == Instruction::SRem ||
-         yyvsp[-4].BinaryOpVal == Instruction::FRem))
+    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))
       GEN_ERROR("U/S/FRem not supported on packed types!");
-    Value* val1 = getVal(*yyvsp[-3].TypeVal, yyvsp[-2].ValIDVal); 
+    Value* val1 = getVal(*(yyvsp[(2) - (5)].TypeVal), (yyvsp[(3) - (5)].ValIDVal)); 
     CHECK_FOR_ERROR
-    Value* val2 = getVal(*yyvsp[-3].TypeVal, yyvsp[0].ValIDVal);
+    Value* val2 = getVal(*(yyvsp[(2) - (5)].TypeVal), (yyvsp[(5) - (5)].ValIDVal));
     CHECK_FOR_ERROR
-    yyval.InstVal = BinaryOperator::create(yyvsp[-4].BinaryOpVal, val1, val2);
-    if (yyval.InstVal == 0)
+    (yyval.InstVal) = BinaryOperator::create((yyvsp[(1) - (5)].BinaryOpVal), val1, val2);
+    if ((yyval.InstVal) == 0)
       GEN_ERROR("binary operator returned null!");
-    delete yyvsp[-3].TypeVal;
-  ;
-    break;}
-case 261:
-#line 2571 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
+    delete (yyvsp[(2) - (5)].TypeVal);
+  ;}
+    break;
+
+  case 264:
+#line 2591 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
     if (!UpRefs.empty())
-      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("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("Logical operator requires integral operands!");
     }
-    Value* tmpVal1 = getVal(*yyvsp[-3].TypeVal, yyvsp[-2].ValIDVal);
+    Value* tmpVal1 = getVal(*(yyvsp[(2) - (5)].TypeVal), (yyvsp[(3) - (5)].ValIDVal));
     CHECK_FOR_ERROR
-    Value* tmpVal2 = getVal(*yyvsp[-3].TypeVal, yyvsp[0].ValIDVal);
+    Value* tmpVal2 = getVal(*(yyvsp[(2) - (5)].TypeVal), (yyvsp[(5) - (5)].ValIDVal));
     CHECK_FOR_ERROR
-    yyval.InstVal = BinaryOperator::create(yyvsp[-4].BinaryOpVal, tmpVal1, tmpVal2);
-    if (yyval.InstVal == 0)
+    (yyval.InstVal) = BinaryOperator::create((yyvsp[(1) - (5)].BinaryOpVal), tmpVal1, tmpVal2);
+    if ((yyval.InstVal) == 0)
       GEN_ERROR("binary operator returned null!");
-    delete yyvsp[-3].TypeVal;
-  ;
-    break;}
-case 262:
-#line 2588 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
+    delete (yyvsp[(2) - (5)].TypeVal);
+  ;}
+    break;
+
+  case 265:
+#line 2608 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
     if (!UpRefs.empty())
-      GEN_ERROR("Invalid upreference in type: " + (*yyvsp[-3].TypeVal)->getDescription());
-    if (isa<PackedType>((*yyvsp[-3].TypeVal).get()))
+      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(3) - (6)].TypeVal))->getDescription());
+    if (isa<PackedType>((*(yyvsp[(3) - (6)].TypeVal)).get()))
       GEN_ERROR("Packed types not supported by icmp instruction");
-    Value* tmpVal1 = getVal(*yyvsp[-3].TypeVal, yyvsp[-2].ValIDVal);
+    Value* tmpVal1 = getVal(*(yyvsp[(3) - (6)].TypeVal), (yyvsp[(4) - (6)].ValIDVal));
     CHECK_FOR_ERROR
-    Value* tmpVal2 = getVal(*yyvsp[-3].TypeVal, yyvsp[0].ValIDVal);
+    Value* tmpVal2 = getVal(*(yyvsp[(3) - (6)].TypeVal), (yyvsp[(6) - (6)].ValIDVal));
     CHECK_FOR_ERROR
-    yyval.InstVal = CmpInst::create(yyvsp[-5].OtherOpVal, yyvsp[-4].IPredicate, tmpVal1, tmpVal2);
-    if (yyval.InstVal == 0)
+    (yyval.InstVal) = CmpInst::create((yyvsp[(1) - (6)].OtherOpVal), (yyvsp[(2) - (6)].IPredicate), tmpVal1, tmpVal2);
+    if ((yyval.InstVal) == 0)
       GEN_ERROR("icmp operator returned null!");
-  ;
-    break;}
-case 263:
-#line 2601 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
+  ;}
+    break;
+
+  case 266:
+#line 2621 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
     if (!UpRefs.empty())
-      GEN_ERROR("Invalid upreference in type: " + (*yyvsp[-3].TypeVal)->getDescription());
-    if (isa<PackedType>((*yyvsp[-3].TypeVal).get()))
+      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(3) - (6)].TypeVal))->getDescription());
+    if (isa<PackedType>((*(yyvsp[(3) - (6)].TypeVal)).get()))
       GEN_ERROR("Packed types not supported by fcmp instruction");
-    Value* tmpVal1 = getVal(*yyvsp[-3].TypeVal, yyvsp[-2].ValIDVal);
+    Value* tmpVal1 = getVal(*(yyvsp[(3) - (6)].TypeVal), (yyvsp[(4) - (6)].ValIDVal));
     CHECK_FOR_ERROR
-    Value* tmpVal2 = getVal(*yyvsp[-3].TypeVal, yyvsp[0].ValIDVal);
+    Value* tmpVal2 = getVal(*(yyvsp[(3) - (6)].TypeVal), (yyvsp[(6) - (6)].ValIDVal));
     CHECK_FOR_ERROR
-    yyval.InstVal = CmpInst::create(yyvsp[-5].OtherOpVal, yyvsp[-4].FPredicate, tmpVal1, tmpVal2);
-    if (yyval.InstVal == 0)
+    (yyval.InstVal) = CmpInst::create((yyvsp[(1) - (6)].OtherOpVal), (yyvsp[(2) - (6)].FPredicate), tmpVal1, tmpVal2);
+    if ((yyval.InstVal) == 0)
       GEN_ERROR("fcmp operator returned null!");
-  ;
-    break;}
-case 264:
-#line 2614 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
-    if (yyvsp[0].ValueVal->getType() != Type::Int8Ty)
+  ;}
+    break;
+
+  case 267:
+#line 2634 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
+    if ((yyvsp[(4) - (4)].ValueVal)->getType() != Type::Int8Ty)
       GEN_ERROR("Shift amount must be i8 type!");
-    if (!yyvsp[-2].ValueVal->getType()->isInteger())
+    if (!(yyvsp[(2) - (4)].ValueVal)->getType()->isInteger())
       GEN_ERROR("Shift constant expression requires integer operand!");
     CHECK_FOR_ERROR;
-    yyval.InstVal = new ShiftInst(yyvsp[-3].OtherOpVal, yyvsp[-2].ValueVal, yyvsp[0].ValueVal);
+    (yyval.InstVal) = new ShiftInst((yyvsp[(1) - (4)].OtherOpVal), (yyvsp[(2) - (4)].ValueVal), (yyvsp[(4) - (4)].ValueVal));
     CHECK_FOR_ERROR
-  ;
-    break;}
-case 265:
-#line 2623 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
+  ;}
+    break;
+
+  case 268:
+#line 2643 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
     if (!UpRefs.empty())
-      GEN_ERROR("Invalid upreference in type: " + (*yyvsp[0].TypeVal)->getDescription());
-    Value* Val = yyvsp[-2].ValueVal;
-    const Type* Ty = yyvsp[0].TypeVal->get();
+      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();
     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[-3].CastOpVal, Val, yyvsp[0].TypeVal->get());
-    delete yyvsp[0].TypeVal;
-  ;
-    break;}
-case 266:
-#line 2636 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
-    if (yyvsp[-4].ValueVal->getType() != Type::Int1Ty)
+    (yyval.InstVal) = CastInst::create((yyvsp[(1) - (4)].CastOpVal), Val, (yyvsp[(4) - (4)].TypeVal)->get());
+    delete (yyvsp[(4) - (4)].TypeVal);
+  ;}
+    break;
+
+  case 269:
+#line 2656 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
+    if ((yyvsp[(2) - (6)].ValueVal)->getType() != Type::Int1Ty)
       GEN_ERROR("select condition must be boolean!");
-    if (yyvsp[-2].ValueVal->getType() != yyvsp[0].ValueVal->getType())
+    if ((yyvsp[(4) - (6)].ValueVal)->getType() != (yyvsp[(6) - (6)].ValueVal)->getType())
       GEN_ERROR("select value types should match!");
-    yyval.InstVal = new SelectInst(yyvsp[-4].ValueVal, yyvsp[-2].ValueVal, yyvsp[0].ValueVal);
+    (yyval.InstVal) = new SelectInst((yyvsp[(2) - (6)].ValueVal), (yyvsp[(4) - (6)].ValueVal), (yyvsp[(6) - (6)].ValueVal));
     CHECK_FOR_ERROR
-  ;
-    break;}
-case 267:
-#line 2644 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
+  ;}
+    break;
+
+  case 270:
+#line 2664 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
     if (!UpRefs.empty())
-      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 268:
-#line 2651 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
-    if (!ExtractElementInst::isValidOperands(yyvsp[-2].ValueVal, yyvsp[0].ValueVal))
+      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);
+    CHECK_FOR_ERROR
+  ;}
+    break;
+
+  case 271:
+#line 2671 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
+    if (!ExtractElementInst::isValidOperands((yyvsp[(2) - (4)].ValueVal), (yyvsp[(4) - (4)].ValueVal)))
       GEN_ERROR("Invalid extractelement operands!");
-    yyval.InstVal = new ExtractElementInst(yyvsp[-2].ValueVal, yyvsp[0].ValueVal);
+    (yyval.InstVal) = new ExtractElementInst((yyvsp[(2) - (4)].ValueVal), (yyvsp[(4) - (4)].ValueVal));
     CHECK_FOR_ERROR
-  ;
-    break;}
-case 269:
-#line 2657 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
-    if (!InsertElementInst::isValidOperands(yyvsp[-4].ValueVal, yyvsp[-2].ValueVal, yyvsp[0].ValueVal))
+  ;}
+    break;
+
+  case 272:
+#line 2677 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
+    if (!InsertElementInst::isValidOperands((yyvsp[(2) - (6)].ValueVal), (yyvsp[(4) - (6)].ValueVal), (yyvsp[(6) - (6)].ValueVal)))
       GEN_ERROR("Invalid insertelement operands!");
-    yyval.InstVal = new InsertElementInst(yyvsp[-4].ValueVal, yyvsp[-2].ValueVal, yyvsp[0].ValueVal);
+    (yyval.InstVal) = new InsertElementInst((yyvsp[(2) - (6)].ValueVal), (yyvsp[(4) - (6)].ValueVal), (yyvsp[(6) - (6)].ValueVal));
     CHECK_FOR_ERROR
-  ;
-    break;}
-case 270:
-#line 2663 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
-    if (!ShuffleVectorInst::isValidOperands(yyvsp[-4].ValueVal, yyvsp[-2].ValueVal, yyvsp[0].ValueVal))
+  ;}
+    break;
+
+  case 273:
+#line 2683 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
+    if (!ShuffleVectorInst::isValidOperands((yyvsp[(2) - (6)].ValueVal), (yyvsp[(4) - (6)].ValueVal), (yyvsp[(6) - (6)].ValueVal)))
       GEN_ERROR("Invalid shufflevector operands!");
-    yyval.InstVal = new ShuffleVectorInst(yyvsp[-4].ValueVal, yyvsp[-2].ValueVal, yyvsp[0].ValueVal);
+    (yyval.InstVal) = new ShuffleVectorInst((yyvsp[(2) - (6)].ValueVal), (yyvsp[(4) - (6)].ValueVal), (yyvsp[(6) - (6)].ValueVal));
     CHECK_FOR_ERROR
-  ;
-    break;}
-case 271:
-#line 2669 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
-    const Type *Ty = yyvsp[0].PHIList->front().first->getType();
+  ;}
+    break;
+
+  case 274:
+#line 2689 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
+    const Type *Ty = (yyvsp[(2) - (2)].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[0].PHIList->size());
-    while (yyvsp[0].PHIList->begin() != yyvsp[0].PHIList->end()) {
-      if (yyvsp[0].PHIList->front().first->getType() != Ty) 
+    (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) 
         GEN_ERROR("All elements of a PHI node must be of the same type!");
-      cast<PHINode>(yyval.InstVal)->addIncoming(yyvsp[0].PHIList->front().first, yyvsp[0].PHIList->front().second);
-      yyvsp[0].PHIList->pop_front();
+      cast<PHINode>((yyval.InstVal))->addIncoming((yyvsp[(2) - (2)].PHIList)->front().first, (yyvsp[(2) - (2)].PHIList)->front().second);
+      (yyvsp[(2) - (2)].PHIList)->pop_front();
     }
-    delete yyvsp[0].PHIList;  // Free the list...
+    delete (yyvsp[(2) - (2)].PHIList);  // Free the list...
     CHECK_FOR_ERROR
-  ;
-    break;}
-case 272:
-#line 2685 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
+  ;}
+    break;
+
+  case 275:
+#line 2705 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
 
     // Handle the short syntax
     const PointerType *PFTy = 0;
     const FunctionType *Ty = 0;
-    if (!(PFTy = dyn_cast<PointerType>(yyvsp[-5].TypeVal->get())) ||
+    if (!(PFTy = dyn_cast<PointerType>((yyvsp[(3) - (8)].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[0].ParamAttrs);
-      for (ValueRefList::iterator I = yyvsp[-2].ValueRefList->begin(), E = yyvsp[-2].ValueRefList->end(); I != E; ++I) {
+      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) {
         const Type *Ty = I->Val->getType();
         if (Ty == Type::VoidTy)
           GEN_ERROR("Short call syntax cannot be used with varargs");
@@ -4543,16 +5616,16 @@
         ParamAttrs.push_back(I->Attrs);
       }
 
-      Ty = FunctionType::get(yyvsp[-5].TypeVal->get(), ParamTypes, false, ParamAttrs);
+      Ty = FunctionType::get((yyvsp[(3) - (8)].TypeVal)->get(), ParamTypes, false, ParamAttrs);
       PFTy = PointerType::get(Ty);
     }
 
-    Value *V = getVal(PFTy, yyvsp[-4].ValIDVal);   // Get the function we're calling...
+    Value *V = getVal(PFTy, (yyvsp[(4) - (8)].ValIDVal));   // Get the function we're calling...
     CHECK_FOR_ERROR
 
     // Check the arguments 
     ValueList Args;
-    if (yyvsp[-2].ValueRefList->empty()) {                                   // Has no arguments?
+    if ((yyvsp[(6) - (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 "
@@ -4563,7 +5636,7 @@
       //
       FunctionType::param_iterator I = Ty->param_begin();
       FunctionType::param_iterator E = Ty->param_end();
-      ValueRefList::iterator ArgI = yyvsp[-2].ValueRefList->begin(), ArgE = yyvsp[-2].ValueRefList->end();
+      ValueRefList::iterator ArgI = (yyvsp[(6) - (8)].ValueRefList)->begin(), ArgE = (yyvsp[(6) - (8)].ValueRefList)->end();
 
       for (; ArgI != ArgE && I != E; ++ArgI, ++I) {
         if (ArgI->Val->getType() != *I)
@@ -4580,364 +5653,370 @@
     }
     // Create the call node
     CallInst *CI = new CallInst(V, Args);
-    CI->setTailCall(yyvsp[-7].BoolVal);
-    CI->setCallingConv(yyvsp[-6].UIntVal);
-    yyval.InstVal = CI;
-    delete yyvsp[-2].ValueRefList;
-    CHECK_FOR_ERROR
-  ;
-    break;}
-case 273:
-#line 2747 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
-    yyval.InstVal = yyvsp[0].InstVal;
+    CI->setTailCall((yyvsp[(1) - (8)].BoolVal));
+    CI->setCallingConv((yyvsp[(2) - (8)].UIntVal));
+    (yyval.InstVal) = CI;
+    delete (yyvsp[(6) - (8)].ValueRefList);
     CHECK_FOR_ERROR
-  ;
-    break;}
-case 274:
-#line 2752 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
-    yyval.BoolVal = true;
+  ;}
+    break;
+
+  case 276:
+#line 2767 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
+    (yyval.InstVal) = (yyvsp[(1) - (1)].InstVal);
     CHECK_FOR_ERROR
-  ;
-    break;}
-case 275:
-#line 2756 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
-    yyval.BoolVal = false;
+  ;}
+    break;
+
+  case 277:
+#line 2772 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
+    (yyval.BoolVal) = true;
     CHECK_FOR_ERROR
-  ;
-    break;}
-case 276:
-#line 2763 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
+  ;}
+    break;
+
+  case 278:
+#line 2776 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
+    (yyval.BoolVal) = false;
+    CHECK_FOR_ERROR
+  ;}
+    break;
+
+  case 279:
+#line 2783 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
     if (!UpRefs.empty())
-      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 277:
-#line 2770 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
+      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);
+    CHECK_FOR_ERROR
+  ;}
+    break;
+
+  case 280:
+#line 2790 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
     if (!UpRefs.empty())
-      GEN_ERROR("Invalid upreference in type: " + (*yyvsp[-4].TypeVal)->getDescription());
-    Value* tmpVal = getVal(yyvsp[-2].PrimType, yyvsp[-1].ValIDVal);
+      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (6)].TypeVal))->getDescription());
+    Value* tmpVal = getVal((yyvsp[(4) - (6)].PrimType), (yyvsp[(5) - (6)].ValIDVal));
     CHECK_FOR_ERROR
-    yyval.InstVal = new MallocInst(*yyvsp[-4].TypeVal, tmpVal, yyvsp[0].UIntVal);
-    delete yyvsp[-4].TypeVal;
-  ;
-    break;}
-case 278:
-#line 2778 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
+    (yyval.InstVal) = new MallocInst(*(yyvsp[(2) - (6)].TypeVal), tmpVal, (yyvsp[(6) - (6)].UIntVal));
+    delete (yyvsp[(2) - (6)].TypeVal);
+  ;}
+    break;
+
+  case 281:
+#line 2798 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
     if (!UpRefs.empty())
-      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 279:
-#line 2785 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
+      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);
+    CHECK_FOR_ERROR
+  ;}
+    break;
+
+  case 282:
+#line 2805 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
     if (!UpRefs.empty())
-      GEN_ERROR("Invalid upreference in type: " + (*yyvsp[-4].TypeVal)->getDescription());
-    Value* tmpVal = getVal(yyvsp[-2].PrimType, yyvsp[-1].ValIDVal);
+      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (6)].TypeVal))->getDescription());
+    Value* tmpVal = getVal((yyvsp[(4) - (6)].PrimType), (yyvsp[(5) - (6)].ValIDVal));
     CHECK_FOR_ERROR
-    yyval.InstVal = new AllocaInst(*yyvsp[-4].TypeVal, tmpVal, yyvsp[0].UIntVal);
-    delete yyvsp[-4].TypeVal;
-  ;
-    break;}
-case 280:
-#line 2793 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
-    if (!isa<PointerType>(yyvsp[0].ValueVal->getType()))
+    (yyval.InstVal) = new AllocaInst(*(yyvsp[(2) - (6)].TypeVal), tmpVal, (yyvsp[(6) - (6)].UIntVal));
+    delete (yyvsp[(2) - (6)].TypeVal);
+  ;}
+    break;
+
+  case 283:
+#line 2813 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
+    if (!isa<PointerType>((yyvsp[(2) - (2)].ValueVal)->getType()))
       GEN_ERROR("Trying to free nonpointer type " + 
-                     yyvsp[0].ValueVal->getType()->getDescription() + "!");
-    yyval.InstVal = new FreeInst(yyvsp[0].ValueVal);
+                     (yyvsp[(2) - (2)].ValueVal)->getType()->getDescription() + "!");
+    (yyval.InstVal) = new FreeInst((yyvsp[(2) - (2)].ValueVal));
     CHECK_FOR_ERROR
-  ;
-    break;}
-case 281:
-#line 2801 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
+  ;}
+    break;
+
+  case 284:
+#line 2821 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
     if (!UpRefs.empty())
-      GEN_ERROR("Invalid upreference in type: " + (*yyvsp[-1].TypeVal)->getDescription());
-    if (!isa<PointerType>(yyvsp[-1].TypeVal->get()))
+      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(3) - (4)].TypeVal))->getDescription());
+    if (!isa<PointerType>((yyvsp[(3) - (4)].TypeVal)->get()))
       GEN_ERROR("Can't load from nonpointer type: " +
-                     (*yyvsp[-1].TypeVal)->getDescription());
-    if (!cast<PointerType>(yyvsp[-1].TypeVal->get())->getElementType()->isFirstClassType())
+                     (*(yyvsp[(3) - (4)].TypeVal))->getDescription());
+    if (!cast<PointerType>((yyvsp[(3) - (4)].TypeVal)->get())->getElementType()->isFirstClassType())
       GEN_ERROR("Can't load from pointer of non-first-class type: " +
-                     (*yyvsp[-1].TypeVal)->getDescription());
-    Value* tmpVal = getVal(*yyvsp[-1].TypeVal, yyvsp[0].ValIDVal);
+                     (*(yyvsp[(3) - (4)].TypeVal))->getDescription());
+    Value* tmpVal = getVal(*(yyvsp[(3) - (4)].TypeVal), (yyvsp[(4) - (4)].ValIDVal));
     CHECK_FOR_ERROR
-    yyval.InstVal = new LoadInst(tmpVal, "", yyvsp[-3].BoolVal);
-    delete yyvsp[-1].TypeVal;
-  ;
-    break;}
-case 282:
-#line 2815 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
+    (yyval.InstVal) = new LoadInst(tmpVal, "", (yyvsp[(1) - (4)].BoolVal));
+    delete (yyvsp[(3) - (4)].TypeVal);
+  ;}
+    break;
+
+  case 285:
+#line 2835 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
     if (!UpRefs.empty())
-      GEN_ERROR("Invalid upreference in type: " + (*yyvsp[-1].TypeVal)->getDescription());
-    const PointerType *PT = dyn_cast<PointerType>(yyvsp[-1].TypeVal->get());
+      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(5) - (6)].TypeVal))->getDescription());
+    const PointerType *PT = dyn_cast<PointerType>((yyvsp[(5) - (6)].TypeVal)->get());
     if (!PT)
       GEN_ERROR("Can't store to a nonpointer type: " +
-                     (*yyvsp[-1].TypeVal)->getDescription());
+                     (*(yyvsp[(5) - (6)].TypeVal))->getDescription());
     const Type *ElTy = PT->getElementType();
-    if (ElTy != yyvsp[-3].ValueVal->getType())
-      GEN_ERROR("Can't store '" + yyvsp[-3].ValueVal->getType()->getDescription() +
+    if (ElTy != (yyvsp[(3) - (6)].ValueVal)->getType())
+      GEN_ERROR("Can't store '" + (yyvsp[(3) - (6)].ValueVal)->getType()->getDescription() +
                      "' into space of type '" + ElTy->getDescription() + "'!");
 
-    Value* tmpVal = getVal(*yyvsp[-1].TypeVal, yyvsp[0].ValIDVal);
+    Value* tmpVal = getVal(*(yyvsp[(5) - (6)].TypeVal), (yyvsp[(6) - (6)].ValIDVal));
     CHECK_FOR_ERROR
-    yyval.InstVal = new StoreInst(yyvsp[-3].ValueVal, tmpVal, yyvsp[-5].BoolVal);
-    delete yyvsp[-1].TypeVal;
-  ;
-    break;}
-case 283:
-#line 2832 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
+    (yyval.InstVal) = new StoreInst((yyvsp[(3) - (6)].ValueVal), tmpVal, (yyvsp[(1) - (6)].BoolVal));
+    delete (yyvsp[(5) - (6)].TypeVal);
+  ;}
+    break;
+
+  case 286:
+#line 2852 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    {
     if (!UpRefs.empty())
-      GEN_ERROR("Invalid upreference in type: " + (*yyvsp[-2].TypeVal)->getDescription());
-    if (!isa<PointerType>(yyvsp[-2].TypeVal->get()))
+      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (4)].TypeVal))->getDescription());
+    if (!isa<PointerType>((yyvsp[(2) - (4)].TypeVal)->get()))
       GEN_ERROR("getelementptr insn requires pointer operand!");
 
-    if (!GetElementPtrInst::getIndexedType(*yyvsp[-2].TypeVal, *yyvsp[0].ValueList, true))
+    if (!GetElementPtrInst::getIndexedType(*(yyvsp[(2) - (4)].TypeVal), *(yyvsp[(4) - (4)].ValueList), true))
       GEN_ERROR("Invalid getelementptr indices for type '" +
-                     (*yyvsp[-2].TypeVal)->getDescription()+ "'!");
-    Value* tmpVal = getVal(*yyvsp[-2].TypeVal, yyvsp[-1].ValIDVal);
+                     (*(yyvsp[(2) - (4)].TypeVal))->getDescription()+ "'!");
+    Value* tmpVal = getVal(*(yyvsp[(2) - (4)].TypeVal), (yyvsp[(3) - (4)].ValIDVal));
     CHECK_FOR_ERROR
-    yyval.InstVal = new GetElementPtrInst(tmpVal, *yyvsp[0].ValueList);
-    delete yyvsp[-2].TypeVal; 
-    delete yyvsp[0].ValueList;
-  ;
-    break;}
-}
-   /* the action file gets copied in in place of this dollarsign */
-#line 543 "/usr/share/bison.simple"
-
-  yyvsp -= yylen;
-  yyssp -= yylen;
-#ifdef YYLSP_NEEDED
-  yylsp -= yylen;
-#endif
+    (yyval.InstVal) = new GetElementPtrInst(tmpVal, *(yyvsp[(4) - (4)].ValueList));
+    delete (yyvsp[(2) - (4)].TypeVal); 
+    delete (yyvsp[(4) - (4)].ValueList);
+  ;}
+    break;
 
-#if YYDEBUG != 0
-  if (yydebug)
-    {
-      short *ssp1 = yyss - 1;
-      fprintf (stderr, "state stack now");
-      while (ssp1 != yyssp)
-	fprintf (stderr, " %d", *++ssp1);
-      fprintf (stderr, "\n");
-    }
-#endif
+
+/* Line 1267 of yacc.c.  */
+#line 5806 "llvmAsmParser.tab.c"
+      default: break;
+    }
+  YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
+
+  YYPOPSTACK (yylen);
+  yylen = 0;
+  YY_STACK_PRINT (yyss, yyssp);
 
   *++yyvsp = yyval;
 
-#ifdef YYLSP_NEEDED
-  yylsp++;
-  if (yylen == 0)
-    {
-      yylsp->first_line = yylloc.first_line;
-      yylsp->first_column = yylloc.first_column;
-      yylsp->last_line = (yylsp-1)->last_line;
-      yylsp->last_column = (yylsp-1)->last_column;
-      yylsp->text = 0;
-    }
-  else
-    {
-      yylsp->last_line = (yylsp+yylen-1)->last_line;
-      yylsp->last_column = (yylsp+yylen-1)->last_column;
-    }
-#endif
 
-  /* Now "shift" the result of the reduction.
-     Determine what state that goes to,
-     based on the state we popped back to
-     and the rule number reduced by.  */
+  /* Now `shift' the result of the reduction.  Determine what state
+     that goes to, based on the state we popped back to and the rule
+     number reduced by.  */
 
   yyn = yyr1[yyn];
 
-  yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
-  if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
+  yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
+  if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
     yystate = yytable[yystate];
   else
-    yystate = yydefgoto[yyn - YYNTBASE];
+    yystate = yydefgoto[yyn - YYNTOKENS];
 
   goto yynewstate;
 
-yyerrlab:   /* here on detecting error */
 
-  if (! yyerrstatus)
-    /* If not already recovering from an error, report this error.  */
+/*------------------------------------.
+| yyerrlab -- here on detecting error |
+`------------------------------------*/
+yyerrlab:
+  /* If not already recovering from an error, report this error.  */
+  if (!yyerrstatus)
     {
       ++yynerrs;
-
-#ifdef YYERROR_VERBOSE
-      yyn = yypact[yystate];
-
-      if (yyn > YYFLAG && yyn < YYLAST)
-	{
-	  int size = 0;
-	  char *msg;
-	  int x, count;
-
-	  count = 0;
-	  /* Start X at -yyn if nec to avoid negative indexes in yycheck.  */
-	  for (x = (yyn < 0 ? -yyn : 0);
-	       x < (sizeof(yytname) / sizeof(char *)); x++)
-	    if (yycheck[x + yyn] == x)
-	      size += strlen(yytname[x]) + 15, count++;
-	  msg = (char *) malloc(size + 15);
-	  if (msg != 0)
-	    {
-	      strcpy(msg, "parse error");
-
-	      if (count < 5)
-		{
-		  count = 0;
-		  for (x = (yyn < 0 ? -yyn : 0);
-		       x < (sizeof(yytname) / sizeof(char *)); x++)
-		    if (yycheck[x + yyn] == x)
-		      {
-			strcat(msg, count == 0 ? ", expecting `" : " or `");
-			strcat(msg, yytname[x]);
-			strcat(msg, "'");
-			count++;
-		      }
-		}
-	      yyerror(msg);
-	      free(msg);
-	    }
-	  else
-	    yyerror ("parse error; also virtual memory exceeded");
-	}
-      else
-#endif /* YYERROR_VERBOSE */
-	yyerror("parse error");
+#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
+	      {
+		yymsg = yymsgbuf;
+		yymsg_alloc = sizeof yymsgbuf;
+	      }
+	  }
+
+	if (0 < yysize && yysize <= yymsg_alloc)
+	  {
+	    (void) yysyntax_error (yymsg, yystate, yychar);
+	    yyerror (yymsg);
+	  }
+	else
+	  {
+	    yyerror (YY_("syntax error"));
+	    if (yysize != 0)
+	      goto yyexhaustedlab;
+	  }
+      }
+#endif
     }
 
-  goto yyerrlab1;
-yyerrlab1:   /* here on error raised explicitly by an action */
+
 
   if (yyerrstatus == 3)
     {
-      /* if just tried and failed to reuse lookahead token after an error, discard it.  */
-
-      /* return failure if at end of input */
-      if (yychar == YYEOF)
-	YYABORT;
+      /* If just tried and failed to reuse look-ahead token after an
+	 error, discard it.  */
 
-#if YYDEBUG != 0
-      if (yydebug)
-	fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]);
-#endif
-
-      yychar = YYEMPTY;
+      if (yychar <= YYEOF)
+	{
+	  /* Return failure if at end of input.  */
+	  if (yychar == YYEOF)
+	    YYABORT;
+	}
+      else
+	{
+	  yydestruct ("Error: discarding",
+		      yytoken, &yylval);
+	  yychar = YYEMPTY;
+	}
     }
 
-  /* Else will try to reuse lookahead token
-     after shifting the error token.  */
-
-  yyerrstatus = 3;		/* Each real token shifted decrements this */
-
-  goto yyerrhandle;
+  /* Else will try to reuse look-ahead token after shifting the error
+     token.  */
+  goto yyerrlab1;
 
-yyerrdefault:  /* current state does not do anything special for the error token. */
 
-#if 0
-  /* This is wrong; only states that explicitly want error tokens
-     should shift them.  */
-  yyn = yydefact[yystate];  /* If its default is to accept any token, ok.  Otherwise pop it.*/
-  if (yyn) goto yydefault;
-#endif
+/*---------------------------------------------------.
+| yyerrorlab -- error raised explicitly by YYERROR.  |
+`---------------------------------------------------*/
+yyerrorlab:
+
+  /* Pacify compilers like GCC when the user code never invokes
+     YYERROR and the label yyerrorlab therefore never appears in user
+     code.  */
+  if (/*CONSTCOND*/ 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);
+  yystate = *yyssp;
+  goto yyerrlab1;
 
-yyerrpop:   /* pop the current state because it cannot handle the error token */
 
-  if (yyssp == yyss) YYABORT;
-  yyvsp--;
-  yystate = *--yyssp;
-#ifdef YYLSP_NEEDED
-  yylsp--;
-#endif
+/*-------------------------------------------------------------.
+| yyerrlab1 -- common code for both syntax error and YYERROR.  |
+`-------------------------------------------------------------*/
+yyerrlab1:
+  yyerrstatus = 3;	/* Each real token shifted decrements this.  */
 
-#if YYDEBUG != 0
-  if (yydebug)
+  for (;;)
     {
-      short *ssp1 = yyss - 1;
-      fprintf (stderr, "Error: state stack now");
-      while (ssp1 != yyssp)
-	fprintf (stderr, " %d", *++ssp1);
-      fprintf (stderr, "\n");
-    }
-#endif
-
-yyerrhandle:
+      yyn = yypact[yystate];
+      if (yyn != YYPACT_NINF)
+	{
+	  yyn += YYTERROR;
+	  if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
+	    {
+	      yyn = yytable[yyn];
+	      if (0 < yyn)
+		break;
+	    }
+	}
 
-  yyn = yypact[yystate];
-  if (yyn == YYFLAG)
-    goto yyerrdefault;
+      /* Pop the current state because it cannot handle the error token.  */
+      if (yyssp == yyss)
+	YYABORT;
 
-  yyn += YYTERROR;
-  if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
-    goto yyerrdefault;
 
-  yyn = yytable[yyn];
-  if (yyn < 0)
-    {
-      if (yyn == YYFLAG)
-	goto yyerrpop;
-      yyn = -yyn;
-      goto yyreduce;
+      yydestruct ("Error: popping",
+		  yystos[yystate], yyvsp);
+      YYPOPSTACK (1);
+      yystate = *yyssp;
+      YY_STACK_PRINT (yyss, yyssp);
     }
-  else if (yyn == 0)
-    goto yyerrpop;
 
   if (yyn == YYFINAL)
     YYACCEPT;
 
-#if YYDEBUG != 0
-  if (yydebug)
-    fprintf(stderr, "Shifting error token, ");
-#endif
-
   *++yyvsp = yylval;
-#ifdef YYLSP_NEEDED
-  *++yylsp = yylloc;
-#endif
+
+
+  /* Shift the error token.  */
+  YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
 
   yystate = yyn;
   goto yynewstate;
 
- yyacceptlab:
-  /* YYACCEPT comes here.  */
-  if (yyfree_stacks)
-    {
-      free (yyss);
-      free (yyvs);
-#ifdef YYLSP_NEEDED
-      free (yyls);
-#endif
-    }
-  return 0;
 
- yyabortlab:
-  /* YYABORT comes here.  */
-  if (yyfree_stacks)
+/*-------------------------------------.
+| yyacceptlab -- YYACCEPT comes here.  |
+`-------------------------------------*/
+yyacceptlab:
+  yyresult = 0;
+  goto yyreturn;
+
+/*-----------------------------------.
+| yyabortlab -- YYABORT comes here.  |
+`-----------------------------------*/
+yyabortlab:
+  yyresult = 1;
+  goto yyreturn;
+
+#ifndef yyoverflow
+/*-------------------------------------------------.
+| yyexhaustedlab -- memory exhaustion comes here.  |
+`-------------------------------------------------*/
+yyexhaustedlab:
+  yyerror (YY_("memory exhausted"));
+  yyresult = 2;
+  /* Fall through.  */
+#endif
+
+yyreturn:
+  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)
     {
-      free (yyss);
-      free (yyvs);
-#ifdef YYLSP_NEEDED
-      free (yyls);
+      yydestruct ("Cleanup: popping",
+		  yystos[*yyssp], yyvsp);
+      YYPOPSTACK (1);
+    }
+#ifndef yyoverflow
+  if (yyss != yyssa)
+    YYSTACK_FREE (yyss);
+#endif
+#if YYERROR_VERBOSE
+  if (yymsg != yymsgbuf)
+    YYSTACK_FREE (yymsg);
 #endif
-    }
-  return 1;
+  /* Make sure YYID is used.  */
+  return YYID (yyresult);
 }
-#line 2849 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+
+
+#line 2869 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
 
 
 // common code from the two 'RunVMAsmParser' functions
@@ -4987,3 +6066,4 @@
   GenerateError(errMsg);
   return 0;
 }
+


Index: llvm/lib/AsmParser/llvmAsmParser.h.cvs
diff -u llvm/lib/AsmParser/llvmAsmParser.h.cvs:1.40 llvm/lib/AsmParser/llvmAsmParser.h.cvs:1.41
--- llvm/lib/AsmParser/llvmAsmParser.h.cvs:1.40	Fri Jan 12 12:33:30 2007
+++ llvm/lib/AsmParser/llvmAsmParser.h.cvs	Fri Jan 12 13:22:51 2007
@@ -1,4 +1,317 @@
-typedef union {
+/* A Bison parser, made by GNU Bison 2.3.  */
+
+/* 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.
+
+   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
+   the Free Software Foundation; either version 2, or (at your option)
+   any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   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.  */
+
+/* Tokens.  */
+#ifndef YYTOKENTYPE
+# define YYTOKENTYPE
+   /* Put the tokens into the symbol table, so that GDB and other debuggers
+      know about them.  */
+   enum yytokentype {
+     ESINT64VAL = 258,
+     EUINT64VAL = 259,
+     SINTVAL = 260,
+     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
+   };
+#endif
+/* Tokens.  */
+#define ESINT64VAL 258
+#define EUINT64VAL 259
+#define SINTVAL 260
+#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"
+{
   llvm::Module                           *ModuleVal;
   llvm::Function                         *FunctionVal;
   llvm::BasicBlock                       *BasicBlockVal;
@@ -23,6 +336,7 @@
   std::vector<llvm::Constant*>           *ConstVector;
 
   llvm::GlobalValue::LinkageTypes         Linkage;
+  llvm::GlobalValue::VisibilityTypes      Visibility;
   llvm::FunctionType::ParameterAttributes ParamAttrs;
   int64_t                           SInt64Val;
   uint64_t                          UInt64Val;
@@ -42,136 +356,14 @@
   llvm::Module::Endianness          Endianness;
   llvm::ICmpInst::Predicate         IPredicate;
   llvm::FCmpInst::Predicate         FPredicate;
-} YYSTYPE;
-#define	ESINT64VAL	257
-#define	EUINT64VAL	258
-#define	SINTVAL	259
-#define	UINTVAL	260
-#define	FPVAL	261
-#define	VOID	262
-#define	BOOL	263
-#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
-
+}
+/* Line 1489 of yacc.c.  */
+#line 362 "llvmAsmParser.tab.h"
+	YYSTYPE;
+# define yystype YYSTYPE /* obsolescent; will be withdrawn */
+# define YYSTYPE_IS_DECLARED 1
+# define YYSTYPE_IS_TRIVIAL 1
+#endif
 
 extern YYSTYPE llvmAsmlval;
+






More information about the llvm-commits mailing list