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

Reid Spencer reid at x10sys.com
Thu Jan 11 23:06:07 PST 2007



Changes in directory llvm/lib/AsmParser:

Lexer.cpp.cvs updated: 1.22 -> 1.23
Lexer.l updated: 1.91 -> 1.92
Lexer.l.cvs updated: 1.18 -> 1.19
llvmAsmParser.cpp.cvs updated: 1.49 -> 1.50
llvmAsmParser.h.cvs updated: 1.38 -> 1.39
llvmAsmParser.y updated: 1.304 -> 1.305
llvmAsmParser.y.cvs updated: 1.50 -> 1.51
---
Log message:

For PR1064: http://llvm.org/PR1064 :
Implement the arbitrary bit-width integer feature. The feature allows
integers of any bitwidth (up to 64) to be defined instead of just 1, 8, 
16, 32, and 64 bit integers.  

This change does several things:
1. Introduces a new Derived Type, IntegerType, to represent the number of
   bits in an integer. The Type classes SubclassData field is used to
   store the number of bits. This allows 2^23 bits in an integer type. 
2. Removes the five integer Type::TypeID values for the 1, 8, 16, 32 and
   64-bit integers. These are replaced with just IntegerType which is not
   a primitive any more. 
3. Adjust the rest of LLVM to account for this change.

Note that while this incremental change lays the foundation for arbitrary
bit-width integers, LLVM has not yet been converted to actually deal with 
them in any significant way. Most optimization passes, for example, will 
still only deal with the byte-width integer types.  Future increments
will rectify this situation.



---
Diffs of the changes:  (+2417 -2455)

 Lexer.cpp.cvs         | 1455 ++++++++++++-------------
 Lexer.l               |   13 
 Lexer.l.cvs           |   13 
 llvmAsmParser.cpp.cvs | 2861 ++++++++++++++++++++++++--------------------------
 llvmAsmParser.h.cvs   |  502 ++++----
 llvmAsmParser.y       |   14 
 llvmAsmParser.y.cvs   |   14 
 7 files changed, 2417 insertions(+), 2455 deletions(-)


Index: llvm/lib/AsmParser/Lexer.cpp.cvs
diff -u llvm/lib/AsmParser/Lexer.cpp.cvs:1.22 llvm/lib/AsmParser/Lexer.cpp.cvs:1.23
--- llvm/lib/AsmParser/Lexer.cpp.cvs:1.22	Thu Jan 11 12:21:28 2007
+++ llvm/lib/AsmParser/Lexer.cpp.cvs	Fri Jan 12 01:05:13 2007
@@ -20,7 +20,7 @@
 /* A lexical scanner generated by flex*/
 
 /* Scanner skeleton version:
- * $Header: /var/cvs/llvm/llvm/lib/AsmParser/Lexer.cpp.cvs,v 1.22 2007/01/11 18:21:28 reid Exp $
+ * $Header: /var/cvs/llvm/llvm/lib/AsmParser/Lexer.cpp.cvs,v 1.23 2007/01/12 07:05:13 reid Exp $
  */
 
 #define FLEX_SCANNER
@@ -317,99 +317,99 @@
 	*yy_cp = '\0'; \
 	yy_c_buf_p = yy_cp;
 
-#define YY_NUM_RULES 138
-#define YY_END_OF_BUFFER 139
-static yyconst short int yy_acclist[216] =
+#define YY_NUM_RULES 135
+#define YY_END_OF_BUFFER 136
+static yyconst short int yy_acclist[214] =
     {   0,
-      139,  137,  138,  136,  137,  138,  136,  138,  137,  138,
-      137,  138,  137,  138,  137,  138,  137,  138,  137,  138,
-      129,  137,  138,  129,  137,  138,    1,  137,  138,  137,
-      138,  137,  138,  137,  138,  137,  138,  137,  138,  137,
-      138,  137,  138,  137,  138,  137,  138,  137,  138,  137,
-      138,  137,  138,  137,  138,  137,  138,  137,  138,  137,
-      138,  137,  138,  137,  138,  137,  138,  137,  138,  137,
-      138,  128,  126,  125,  125,  132,  130,  134,  129,    1,
-      111,   39,   71,   48,   72,   67,   23,  128,  125,  125,
-      133,  134,   20,  134,  135,   57,   66,   37,   32,   40,
-
-        3,   49,   50,   51,   59,   81,   86,   84,   85,   83,
-       82,   87,   91,  110,   76,   74,  106,   75,   73,   58,
-       89,   80,   78,   79,   77,   90,   88,   68,  127,  134,
-      134,  108,   47,   92,   70,   62,  118,   65,   69,  119,
-      107,   22,  131,   61,   95,   64,   24,    4,   55,   60,
-       63,   46,   12,   94,  134,   34,    2,    5,   52,   97,
-       54,  120,   93,   21,  117,   43,    7,   53,   28,   42,
-      101,  100,    8,  113,   31,  116,   36,   56,  105,   99,
-      112,   25,   26,   98,  114,  109,  104,   41,    6,   27,
-       96,   35,    9,   17,   10,  102,   11,  103,   33,   13,
+      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,   53,  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,
 
-       15,   14,   30,   38,   16,   29,  115,  121,  123,  124,
-       44,  122,   18,   45,   19
+       30,   38,   16,   29,  112,  118,  120,  121,   44,  119,
+       18,   45,   19
     } ;
 
-static yyconst short int yy_accept[558] =
+static yyconst short int yy_accept[552] =
     {   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,   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,
+       40,   42,   44,   47,   49,   51,   53,   55,   57,   59,
+       61,   63,   65,   67,   69,   71,   73,   73,   74,   74,
+       75,   76,   77,   78,   78,   79,   79,   80,   81,   81,
+       82,   82,   82,   82,   82,   82,   82,   82,   82,   83,
+       83,   84,   84,   84,   84,   84,   84,   84,   84,   85,
+       85,   85,   85,   85,   85,   85,   85,   85,   85,   86,
+       86,   86,   86,   86,   86,   86,   86,   86,   86,   86,
        87,   87,   87,   87,   87,   87,   87,   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,  103,  104,  105,  105,  105,
-      105,  105,  105,  105,  105,  105,  105,  105,  105,  105,
-      106,  106,  107,  108,  109,  110,  111,  112,  112,  113,
-
-      114,  114,  114,  115,  115,  115,  115,  115,  115,  116,
-      117,  118,  118,  118,  118,  119,  120,  120,  120,  121,
-      121,  121,  121,  121,  121,  121,  121,  122,  123,  124,
-      124,  125,  126,  126,  127,  128,  128,  128,  128,  128,
-      128,  128,  128,  128,  129,  129,  129,  130,  131,  131,
-      131,  131,  132,  132,  132,  132,  133,  133,  133,  134,
-      135,  135,  135,  135,  135,  135,  135,  135,  135,  135,
-      135,  135,  135,  135,  135,  135,  136,  137,  137,  137,
-      137,  137,  138,  139,  139,  139,  140,  140,  140,  140,
-      140,  140,  140,  140,  140,  141,  142,  142,  142,  143,
-
-      143,  143,  143,  144,  145,  145,  145,  146,  146,  146,
-      146,  147,  147,  147,  148,  148,  148,  149,  149,  150,
-      151,  151,  151,  151,  151,  152,  152,  153,  153,  154,
-      154,  154,  155,  156,  157,  157,  157,  158,  158,  158,
-      158,  158,  158,  158,  158,  158,  158,  158,  158,  158,
-      158,  158,  159,  159,  160,  161,  161,  161,  161,  161,
-      161,  161,  161,  161,  161,  161,  162,  162,  162,  162,
-      162,  162,  162,  162,  162,  162,  162,  162,  162,  163,
-      163,  163,  163,  164,  164,  165,  165,  165,  165,  165,
-      165,  165,  165,  166,  166,  166,  167,  167,  167,  167,
-
-      167,  168,  168,  168,  168,  169,  170,  170,  170,  171,
-      172,  173,  173,  173,  174,  174,  174,  174,  174,  175,
-      175,  176,  177,  178,  179,  179,  179,  179,  180,  180,
-      180,  181,  182,  183,  184,  185,  185,  186,  187,  187,
-      187,  187,  187,  187,  188,  188,  189,  189,  190,  191,
-      191,  191,  191,  191,  191,  192,  192,  192,  192,  192,
-      192,  192,  192,  192,  193,  193,  193,  193,  193,  193,
-      193,  193,  193,  194,  194,  194,  194,  194,  195,  195,
-      195,  195,  195,  196,  197,  198,  198,  199,  199,  199,
-      199,  200,  200,  200,  200,  201,  201,  202,  203,  203,
-
-      203,  203,  203,  203,  203,  203,  203,  203,  203,  203,
-      203,  204,  204,  204,  204,  204,  204,  204,  204,  205,
-      205,  205,  205,  205,  206,  206,  206,  206,  206,  207,
-      207,  208,  208,  208,  208,  208,  208,  208,  208,  208,
-      208,  208,  208,  208,  209,  209,  210,  211,  211,  212,
-      212,  213,  214,  215,  215,  216,  216
+       88,   88,   88,   88,   89,   89,   89,   89,   89,   89,
+       89,   89,   89,   89,   89,   89,   89,   89,   89,   89,
+       90,   91,   93,   94,   95,   96,   96,   97,   98,   98,
+       98,   99,   99,   99,  100,  100,  101,  101,  101,  101,
+      102,  102,  102,  102,  102,  102,  102,  102,  102,  102,
+      103,  103,  103,  103,  103,  103,  103,  103,  103,  103,
+      103,  103,  103,  103,  103,  103,  103,  103,  103,  103,
+      103,  103,  103,  103,  104,  104,  105,  106,  107,  108,
+      109,  110,  110,  111,  112,  112,  112,  113,  113,  113,
+
+      113,  113,  113,  114,  115,  116,  116,  116,  116,  117,
+      118,  118,  118,  119,  119,  119,  119,  119,  119,  119,
+      119,  120,  121,  122,  122,  123,  124,  124,  125,  126,
+      126,  126,  126,  126,  126,  126,  126,  126,  127,  127,
+      127,  128,  129,  129,  129,  129,  130,  130,  130,  130,
+      131,  131,  131,  132,  133,  133,  133,  133,  133,  133,
+      133,  133,  133,  133,  133,  133,  133,  133,  133,  133,
+      134,  135,  135,  135,  135,  135,  136,  137,  137,  137,
+      138,  138,  138,  138,  138,  138,  138,  138,  138,  139,
+      140,  140,  140,  141,  141,  141,  141,  142,  143,  143,
+
+      143,  144,  144,  144,  144,  145,  145,  145,  146,  146,
+      146,  147,  147,  148,  149,  149,  149,  149,  149,  150,
+      150,  151,  151,  152,  152,  152,  153,  154,  155,  155,
+      155,  156,  156,  156,  156,  156,  156,  156,  156,  156,
+      156,  156,  156,  156,  156,  156,  157,  157,  158,  159,
+      159,  159,  159,  159,  159,  159,  159,  159,  159,  159,
+      160,  160,  160,  160,  160,  160,  160,  160,  160,  160,
+      160,  160,  160,  161,  161,  161,  161,  162,  162,  163,
+      163,  163,  163,  163,  163,  163,  163,  164,  164,  164,
+      165,  165,  165,  165,  165,  166,  166,  166,  166,  167,
+
+      168,  168,  168,  169,  170,  171,  171,  171,  172,  172,
+      172,  172,  172,  173,  173,  174,  175,  176,  177,  177,
+      177,  177,  178,  178,  178,  179,  180,  181,  182,  183,
+      183,  184,  185,  185,  185,  185,  185,  185,  186,  186,
+      187,  187,  188,  189,  189,  189,  189,  189,  189,  190,
+      190,  190,  190,  190,  190,  190,  190,  190,  191,  191,
+      191,  191,  191,  191,  191,  191,  191,  192,  192,  192,
+      192,  192,  193,  193,  193,  193,  193,  194,  195,  196,
+      196,  197,  197,  197,  197,  198,  198,  198,  198,  199,
+      199,  200,  201,  201,  201,  201,  201,  201,  201,  201,
+
+      201,  201,  201,  201,  201,  202,  202,  202,  202,  202,
+      202,  202,  202,  203,  203,  203,  203,  203,  204,  204,
+      204,  204,  204,  205,  205,  206,  206,  206,  206,  206,
+      206,  206,  206,  206,  206,  206,  206,  206,  207,  207,
+      208,  209,  209,  210,  210,  211,  212,  213,  213,  214,
+      214
     } ;
 
 static yyconst int yy_ec[256] =
@@ -418,16 +418,16 @@
         1,    1,    2,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    2,    1,    4,    1,    5,    6,    1,    1,    1,
-        1,    1,    7,    1,    8,    9,    1,   10,   11,   12,
-       13,   14,   15,   16,   15,   17,   15,   18,   19,    1,
-        1,    1,    1,    1,   20,   20,   20,   20,   21,   20,
+        1,    1,    7,    1,    8,    9,    1,   10,   11,   11,
+       11,   11,   11,   12,   11,   13,   11,   14,   15,    1,
+        1,    1,    1,    1,   16,   16,   16,   16,   17,   16,
         5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
         5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
-        1,    1,    1,    1,   22,    1,   23,   24,   25,   26,
+        1,    1,    1,    1,   18,    1,   19,   20,   21,   22,
 
-       27,   28,   29,   30,   31,    5,   32,   33,   34,   35,
-       36,   37,   38,   39,   40,   41,   42,   43,   44,   45,
-       46,   47,    1,    1,    1,    1,    1,    1,    1,    1,
+       23,   24,   25,   26,   27,    5,   28,   29,   30,   31,
+       32,   33,   34,   35,   36,   37,   38,   39,   40,   41,
+       42,   43,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
@@ -444,269 +444,267 @@
         1,    1,    1,    1,    1
     } ;
 
-static yyconst int yy_meta[48] =
+static yyconst int yy_meta[44] =
     {   0,
-        1,    1,    2,    1,    3,    1,    4,    5,    3,    6,
-        6,    6,    6,    6,    6,    6,    6,    7,    1,    3,
-        8,    3,    3,    3,    3,    3,    8,    3,    3,    3,
+        1,    1,    2,    1,    3,    1,    1,    3,    3,    3,
+        3,    3,    3,    4,    1,    3,    3,    3,    3,    3,
+        3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
         3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
-        3,    3,    3,    3,    3,    3,    3
+        3,    3,    3
     } ;
 
-static yyconst short int yy_base[566] =
+static yyconst short int yy_base[556] =
     {   0,
-        0,    0, 1196, 1197, 1197, 1197, 1191, 1176,   40,    0,
-       48,   58,   68, 1148,    0,   68,   71,   81,   91,   52,
-       97,   98,  126,  110,  117,  120,  136,  138,   73,  170,
-      159,  205,  134,  131,   56,  137, 1188, 1197, 1173, 1197,
-        0,  235,    0, 1181, 1180,  158,  243, 1143,  261,    0,
-       70,  154,   93,   31,  160,  163,  175,   57, 1169,  173,
-      192,  189,  127,   54,  200,  202,  166,  195, 1168,  201,
-      250,  114,  171,  225,  273,  212,  251,  244,   53,  215,
-      249, 1167,  261,  275,  276,  278,  280,  281,  211,  285,
-      279,  289, 1166,  290,  288,  283,  293,  309,  307,  311,
-
-      310,  313,  314,  315,  295,  317,  321,  320,  325,  324,
-      333,  337,  327,  344,  339,  341, 1165,  351,  334,  355,
-      357,  358,  359,  360,  370,  363,  361,  371,  380,  376,
-      366,  373, 1164,    0,    0,  386, 1163,    0,  412,    0,
-     1162,  392,  397, 1161,  390,  393, 1160,  412, 1159,  413,
-      416,  417, 1158,  418,  419,  421,  422,  423,  424,  428,
-      433,  429,  434,  436,  439,  440,  448,  444,  449,  450,
-      452,  455,  451,  453, 1157, 1156, 1155,  456,  465,  472,
-      474,  458,  478,   94,  462,  482,  468,  479,  484, 1154,
-      486, 1153, 1152, 1151, 1150, 1149, 1148,  491, 1147, 1146,
-
-      488,  492, 1145,  524,  499,  502,  495,  512, 1144, 1143,
-     1142,  493,  498,  496, 1141, 1140,  528,  536, 1139,  537,
-      538,  539,  540,  545,  500,  541, 1138, 1137, 1136,  543,
-     1135, 1134,  542, 1133, 1132,  546,  552,  547,  564,  548,
-      567,  568,  506, 1131,  558,  570, 1197,  568,  258,  584,
-      589,  591,  575,  583,  584, 1130,  585,  586, 1129, 1128,
-      587,  588,  589,  595,  598,  596,  604,  597,  599,  605,
-      609,  600,  618,  607,  619, 1127, 1126,  606,  608,  622,
-      625, 1125, 1124,  627,  628, 1123,  630,  632,  634,  636,
-      637,  635,  638,  643, 1122, 1121,  641,  645, 1120,  640,
-
-      647,  648,    0, 1119,  652,  661, 1118,  657,  662,  663,
-     1117,  669,  672, 1116,  674,  675, 1115,  677, 1114, 1113,
-      676,  681,  680,  682, 1112,  687, 1111,  688, 1110,  692,
-      693, 1109,    0, 1108,  689,  695, 1107,  696,  697,  700,
-      709,  707,  698,  701,  715,  713,  717,  720,  722,  723,
-      724, 1106,  726, 1105, 1104,  725,  728,  727,  734,  730,
-      735,  737,  742,  746,  747, 1103,  749,  748,  754,  753,
-      755,  758,  750,  752,  768,  769,  771,  773, 1102,  774,
-      772,  776, 1101,  775, 1100,  780,  782,  777,  783,  793,
-      778,  789, 1099,  797,  779, 1098,  799,  800,  803,  804,
-
-     1097,  805,  808,  811, 1096, 1095,  814,  809, 1094, 1093,
-     1092,  815,  812, 1091,  821,  824,  820,  817, 1090,  834,
-     1089, 1088, 1087, 1086,  823,  835,  836, 1085,  837,  838,
-     1084, 1083, 1082, 1081, 1080,  839, 1079, 1078,  842,  843,
-      847,  845,  849, 1077,  850, 1076,  854, 1075, 1070,  856,
-      859,  860,  861,  862, 1067,  869,  864,  867,  868,  863,
-      870,  874,  875, 1064,  885,  888,  887,  890,  889,  893,
-      891,  894, 1056,  895,  901,  902,  904, 1053,  903,  906,
-      907,  908, 1050, 1044, 1033,  909, 1032,  911,  921,  926,
-     1031,  927,  931,  916, 1030,  915, 1026, 1025,  935,  933,
-
-      937,  939,  941,  943,  945,  946,  947,  948,  949,  950,
-     1024,  951,  954,  956,  958,  959,  967,  961, 1023,  971,
-      963,  973,  974, 1022,  977,  979,  982,  966, 1018,  985,
-     1016,  990,  987,  991,  992,  993,  997,  996,  999, 1000,
-     1001,  998, 1006,  549, 1011,  513,  466, 1010,  398, 1012,
-      331,  291,  208, 1013,  168, 1197, 1052, 1058, 1064,  177,
-     1072, 1078,  123, 1081, 1086
+        0,    0, 1195, 1196, 1196, 1196, 1190, 1179,   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
     } ;
 
-static yyconst short int yy_def[566] =
+static yyconst short int yy_def[556] =
     {   0,
-      556,    1,  556,  556,  556,  556,  557,  558,  559,  560,
-      558,  558,   11,   13,  561,  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,
-      562,  562,  563,  560,   11,  558,   11,   13,   11,  561,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-
-      558,  558,  558,  558,  558,  558,  558,  558,  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,  562,   42,  564,  558,   47,   11,   49,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-
-      558,  558,  558,   49,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  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,  564,  565,  565,
-      139,  139,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-
-      558,  558,  204,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  250,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  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,  556,  556,  556,  556
+      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
     } ;
 
-static yyconst short int yy_nxt[1245] =
+static yyconst short int yy_nxt[1240] =
     {   0,
         4,    5,    6,    7,    8,    9,   10,   11,   12,   13,
-       14,   14,   14,   14,   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,   43,   43,   43,   43,   45,   45,   45,
-       45,   45,   45,   45,   45,   40,   46,  145,  175,   40,
-       40,   40,  130,   40,   40,   40,   47,   48,   48,   48,
-       48,   48,   48,   48,   48,   40,   68,   40,   40,   69,
-       40,  131,  151,   51,  157,  141,   70,   56,   40,  104,
-
-       52,   57,   53,   60,   54,   61,   58,   55,   40,   59,
-       40,   40,   49,   64,   40,   40,   62,   65,  144,   71,
-       63,   72,   73,   66,   77,  293,   67,   40,   43,   74,
-       78,   40,   86,   75,   40,   76,   79,   40,   80,   90,
-       87,   81,   82,   40,   40,   88,   93,  167,   40,   89,
-       83,   40,   91,   40,   40,   40,  127,  129,   92,   84,
-       85,   94,   95,  132,   96,  156,  137,  101,   97,  128,
-       98,   40,   99,  102,  100,   40,   40,   40,  103,  105,
-       40,  116,   44,   40,  142,   40,  143,   40,   40,  146,
-       40,  148,   40,  147,  117,  106,  107,  118,  108,  109,
-
-      110,  168,  111,  149,  119,  152,   40,  162,  112,   40,
-      113,  114,   40,  115,  105,  150,  153,   40,   40,   40,
-      163,  154,   40,  155,  158,   40,  176,  159,   40,   40,
-      120,  121,   40,  122,  161,  123,  160,  124,  172,  125,
-      187,  164,   40,  126,  135,  135,  135,  135,  135,  135,
-      135,  135,  138,  138,  138,  138,  138,  138,  138,  138,
-      169,   40,  177,  139,  250,  250,   40,   40,   40,  139,
-      140,  140,  140,  140,  140,  140,  140,  140,   40,  174,
-      140,  140,  165,  140,  140,  140,  140,  140,  140,  166,
-       40,  173,   40,   40,  178,   40,   40,   40,   40,  170,
-
-       40,  183,   40,  186,  189,   40,   40,   40,   40,  193,
-       40,  179,   40,  171,  184,  180,  181,  188,  182,  195,
-      185,  190,  191,  194,   40,  192,   40,   40,   40,  198,
-       40,   40,   40,  196,   40,  197,  199,   40,   40,  204,
-      200,   40,   40,  201,   40,  206,  209,  205,   40,  213,
-       40,   40,  202,  207,   40,  203,   40,  211,   40,  215,
-      210,   40,  218,  217,  214,  208,  212,  219,   40,  220,
-      225,  221,   40,  216,   40,   40,   40,   40,   40,  222,
-       40,  223,  239,   40,  228,  226,  231,   40,   40,  238,
-       40,  243,  224,   40,  227,  233,  234,   40,  229,  230,
-
-      232,  240,  242,  241,  244,  235,  249,   40,  236,   40,
-       40,  245,  249,  237,   40,   40,  255,  246,  250,  251,
-      253,  252,  252,  252,  252,  252,  252,  252,  252,   40,
-       40,  256,  254,   40,   40,   40,   40,  258,   40,   40,
-       40,   40,  257,  261,  264,   40,   40,  263,  259,  260,
-       40,   40,  270,   40,  266,  265,   40,   40,  262,  268,
-      267,   40,  272,  269,  271,   40,   40,   40,   40,   40,
-       40,  278,   40,   40,  273,   40,  285,  284,  274,   40,
-      275,  282,   40,   40,  276,   40,  277,  280,  283,   40,
-      281,   40,  286,  291,  279,   40,   40,  287,  288,   40,
-
-      289,   40,  294,   40,  292,   40,  296,  295,   40,   40,
-       40,  297,   40,   40,  290,   40,   40,   40,  299,   40,
-      308,  306,  301,   40,  309,  298,  319,  330,  300,   40,
-       40,  310,  302,  303,  303,  303,  303,  303,  303,  303,
-      303,  304,  305,  303,  303,   40,  303,  303,  303,  303,
-      303,  303,  307,   40,   40,   40,   40,   40,   40,   40,
-       40,  311,   40,   40,   40,   40,   40,  315,  322,   40,
-      314,  317,  323,  327,  312,   40,  316,  313,  321,  318,
-      325,   40,  324,  320,   40,   40,  326,   40,  249,  328,
-      556,  556,   40,  331,  249,  556,   39,  556,   39,  329,
-
-       40,   40,   40,   40,   40,   40,   40,  335,  338,  334,
-      332,  339,   40,   40,   40,   40,   40,   40,  336,  337,
-      343,   40,   40,   40,   40,   40,   40,  342,  340,  341,
-      344,  349,  347,  352,  345,   40,   40,  348,  350,   40,
-      351,  346,   40,  353,   40,   40,  354,   40,  355,   40,
-      360,   40,   40,   40,   40,   40,  361,   40,   40,  359,
-       40,  356,   40,  357,   40,   40,  358,  366,  365,   40,
-      362,  364,  363,  367,   40,  368,  369,  370,   40,   40,
-       40,  371,  374,  373,  376,  375,   40,  372,  377,   40,
-      378,   40,   40,   40,   40,  379,  380,   40,   40,   40,
-
-      381,  383,  386,  384,   40,   40,   40,  382,  385,   40,
-       40,  393,   40,   40,   40,   40,  387,   40,   40,  390,
-      394,  396,  397,  392,   40,  388,   40,  401,  389,  399,
-       40,  391,   40,  398,   40,  395,  400,   40,  402,   40,
-       40,   40,   40,   40,   40,   40,  405,   40,  408,  403,
-      409,   40,   40,  404,   40,  410,  406,  407,  411,   40,
-      413,  412,  414,   40,   40,   40,   40,   40,  415,   40,
-       40,   40,   40,  419,  421,   40,  417,  416,  422,  423,
-      426,  424,  418,  420,  425,   40,   40,  427,   40,   40,
-       40,   40,   40,   40,   40,   40,   40,   40,  430,   40,
-
-       40,  429,  434,  432,  436,  438,   40,  437,  428,  431,
-       40,  435,  433,  439,   40,  440,   40,   40,  441,  444,
-       40,   40,   40,  442,  446,   40,   40,  443,   40,   40,
-      448,   40,   40,  445,   40,  452,  453,   40,   40,  455,
-       40,   40,  459,  450,  449,  456,  451,  457,  447,  454,
-      458,   40,   40,   40,   40,   40,   40,  460,  461,   40,
-       40,  462,   40,  465,   40,  466,   40,   40,  467,  463,
-      464,   40,  470,   40,  468,  471,   40,   40,   40,   40,
-       40,   40,  469,  472,   40,   40,   40,   40,  479,  474,
-      473,   40,   40,  478,  475,  480,  485,  476,  481,  482,
-
-      483,  484,   40,  477,   40,   40,   40,   40,   40,  490,
-       40,   40,   40,  486,  489,  487,  491,  493,   40,   40,
-       40,   40,  495,   40,   40,   40,   40,  488,   40,  492,
-      499,  494,   40,   40,  503,  500,  496,  505,   40,  504,
-      501,  497,  498,   40,   40,  506,  510,  502,   40,  507,
-       40,  508,   40,  509,   40,  511,   40,  512,   40,  513,
-       40,  515,   40,   40,   40,   40,   40,   40,   40,  518,
-      521,   40,  523,   40,  516,   40,   40,  514,   40,  520,
-       40,  522,  524,   40,   40,  528,  519,  525,   40,  517,
-       40,   40,  526,  529,   40,  532,   40,  531,  527,   40,
-
-      538,  530,   40,  535,   40,  533,  534,   40,   40,   40,
-       40,  541,  537,   40,   40,   40,   40,   40,   40,  536,
-      539,  542,  540,   40,  548,  549,  543,   40,   40,   40,
-       40,  544,  545,   40,  553,   40,  546,  547,  554,   40,
-       40,   40,   40,   40,  550,  552,  551,   40,   40,   40,
-       40,  555,   37,   37,   37,   37,   37,   37,   37,   37,
-       39,   40,   39,   39,   39,   39,   41,   40,   41,   41,
-       40,   41,   50,   40,   50,   50,   50,   50,   50,   50,
-      134,   40,  134,  134,   40,  134,  248,   40,  248,  333,
-      333,  333,   40,   40,   40,   40,   40,   40,   40,   40,
+       14,   14,   14,    4,   15,    8,    8,    8,   16,   17,
+       18,   19,   20,   21,   22,    8,   23,    8,   24,   25,
+       26,   27,   28,    8,   29,   30,   31,   32,   33,   34,
+       35,    8,   36,   42,   40,   43,   43,   43,   43,   44,
+       44,   44,   44,   45,   45,   45,   45,   40,   46,   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,
@@ -716,155 +714,153 @@
        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,  247,   40,   40,   40,   40,   40,   39,   47,  136,
-       40,  133,   39,   40,   38,  556,    3,  556,  556,  556,
+       40,   40,   40,   40,   40,  241,   40,   40,   40,   40,
+       40,  130,   40,   38,  550,    3,  550,  550,  550,  550,
 
-      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
+      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
     } ;
 
-static yyconst short int yy_chk[1245] =
+static yyconst short int yy_chk[1240] =
     {   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,    9,   54,    9,
-        9,    9,    9,    9,    9,    9,    9,   11,   11,   11,
-       11,   11,   11,   11,   11,   11,   12,   54,   79,   20,
-       79,   64,   35,   35,   58,   12,   13,   13,   13,   13,
-       13,   13,   13,   13,   13,   16,   20,   51,   17,   20,
-       29,   35,   58,   16,   64,   51,   20,   17,   18,   29,
-
-       16,   17,   16,   18,   16,   18,   17,   16,   19,   17,
-       53,  184,   13,   19,   21,   22,   18,   19,   53,   21,
-       18,   21,   21,   19,   22,  184,   19,   24,  563,   21,
-       22,   72,   24,   21,   25,   21,   23,   26,   23,   25,
-       24,   23,   23,   23,   63,   24,   26,   72,   34,   24,
-       23,   33,   25,   27,   36,   28,   33,   34,   25,   23,
-       23,   26,   27,   36,   27,   63,   46,   28,   27,   33,
-       27,   52,   27,   28,   27,   46,   31,   55,   28,   30,
-       56,   31,  560,   67,   52,  555,   52,   30,   73,   55,
-       60,   56,   57,   55,   31,   30,   30,   31,   30,   30,
-
-       30,   73,   30,   57,   31,   60,   62,   67,   30,   61,
-       30,   30,   68,   30,   32,   57,   61,   65,   70,   66,
-       68,   62,   32,   62,   65,  553,   80,   65,   89,   76,
-       32,   32,   80,   32,   66,   32,   65,   32,   76,   32,
-       89,   70,   74,   32,   42,   42,   42,   42,   42,   42,
-       42,   42,   47,   47,   47,   47,   47,   47,   47,   47,
-       74,   78,   81,   47,  249,  249,   81,   71,   77,   47,
-       49,   49,   49,   49,   49,   49,   49,   49,   83,   78,
-       49,   49,   71,   49,   49,   49,   49,   49,   49,   71,
-       75,   77,   84,   85,   83,   86,   91,   87,   88,   75,
-
-       96,   86,   90,   88,   91,   95,   92,   94,  552,   96,
-       97,   84,  105,   75,   87,   85,   85,   90,   85,   97,
-       87,   92,   94,   96,   99,   95,   98,  101,  100,   99,
-      102,  103,  104,   97,  106,   98,  100,  108,  107,  105,
-      101,  110,  109,  102,  113,  107,  108,  106,  551,  110,
-      111,  119,  103,  107,  112,  104,  115,  109,  116,  111,
-      108,  114,  113,  112,  110,  107,  109,  114,  118,  115,
-      119,  116,  120,  111,  121,  122,  123,  124,  127,  116,
-      126,  118,  127,  131,  122,  120,  124,  125,  128,  126,
-      132,  130,  118,  130,  121,  125,  125,  129,  122,  123,
-
-      124,  128,  129,  128,  131,  125,  136,  145,  125,  142,
-      146,  132,  136,  125,  143,  549,  145,  132,  139,  139,
-      142,  139,  139,  139,  139,  139,  139,  139,  139,  148,
-      150,  146,  143,  151,  152,  154,  155,  150,  156,  157,
-      158,  159,  148,  154,  157,  160,  162,  156,  151,  152,
-      161,  163,  162,  164,  159,  158,  165,  166,  155,  161,
-      160,  168,  164,  161,  163,  167,  169,  170,  173,  171,
-      174,  169,  172,  178,  164,  182,  174,  173,  165,  185,
-      166,  172,  179,  547,  167,  187,  168,  171,  172,  180,
-      171,  181,  178,  182,  170,  183,  188,  179,  180,  186,
-
-      181,  189,  185,  191,  183,  201,  187,  186,  198,  202,
-      212,  188,  207,  214,  181,  213,  205,  225,  191,  206,
-      212,  207,  201,  243,  213,  189,  225,  243,  198,  208,
-      546,  214,  202,  204,  204,  204,  204,  204,  204,  204,
-      204,  205,  206,  204,  204,  217,  204,  204,  204,  204,
-      204,  204,  208,  218,  220,  221,  222,  223,  226,  233,
-      230,  217,  224,  236,  238,  240,  544,  222,  233,  237,
-      221,  224,  236,  240,  218,  245,  223,  220,  230,  224,
-      238,  239,  237,  226,  241,  242,  239,  246,  248,  241,
-      250,  250,  253,  245,  248,  251,  251,  252,  252,  242,
-
-      254,  255,  257,  258,  261,  262,  263,  254,  258,  253,
-      246,  261,  264,  266,  268,  265,  269,  272,  255,  257,
-      265,  267,  270,  278,  274,  279,  271,  264,  262,  263,
-      266,  271,  269,  274,  267,  273,  275,  270,  272,  280,
-      273,  268,  281,  275,  284,  285,  278,  287,  279,  288,
-      285,  289,  292,  290,  291,  293,  287,  300,  297,  284,
-      294,  280,  298,  280,  301,  302,  281,  292,  291,  305,
-      288,  290,  289,  293,  308,  294,  297,  298,  306,  309,
-      310,  300,  305,  302,  308,  306,  312,  301,  309,  313,
-      310,  315,  316,  321,  318,  312,  313,  323,  322,  324,
-
-      315,  318,  323,  321,  326,  328,  335,  316,  322,  330,
-      331,  335,  336,  338,  339,  343,  324,  340,  344,  330,
-      336,  339,  340,  331,  342,  326,  341,  344,  328,  342,
-      346,  330,  345,  341,  347,  338,  343,  348,  345,  349,
-      350,  351,  356,  353,  358,  357,  348,  360,  351,  346,
-      353,  359,  361,  347,  362,  356,  349,  350,  357,  363,
-      359,  358,  360,  364,  365,  368,  367,  373,  361,  374,
-      370,  369,  371,  365,  368,  372,  363,  362,  369,  370,
-      373,  371,  364,  367,  372,  375,  376,  374,  377,  381,
-      378,  380,  384,  382,  388,  391,  395,  386,  377,  387,
-
-      389,  376,  382,  380,  386,  388,  392,  387,  375,  378,
-      390,  384,  381,  389,  394,  390,  397,  398,  391,  395,
-      399,  400,  402,  392,  398,  403,  408,  394,  404,  413,
-      400,  407,  412,  397,  418,  407,  407,  417,  415,  412,
-      425,  416,  417,  403,  402,  413,  404,  415,  399,  408,
-      416,  420,  426,  427,  429,  430,  436,  418,  420,  439,
-      440,  425,  442,  429,  441,  430,  443,  445,  436,  426,
-      427,  447,  441,  450,  439,  442,  451,  452,  453,  454,
-      460,  457,  440,  443,  458,  459,  456,  461,  454,  447,
-      445,  462,  463,  453,  450,  456,  461,  451,  457,  458,
-
-      459,  460,  465,  452,  467,  466,  469,  468,  471,  467,
-      470,  472,  474,  462,  466,  463,  468,  470,  475,  476,
-      479,  477,  472,  480,  481,  482,  486,  465,  488,  469,
-      477,  471,  496,  494,  482,  479,  474,  488,  489,  486,
-      480,  475,  476,  490,  492,  489,  494,  481,  493,  490,
-      500,  492,  499,  493,  501,  496,  502,  499,  503,  500,
-      504,  502,  505,  506,  507,  508,  509,  510,  512,  505,
-      508,  513,  510,  514,  503,  515,  516,  501,  518,  507,
-      521,  509,  512,  528,  517,  516,  506,  513,  520,  504,
-      522,  523,  514,  517,  525,  521,  526,  520,  515,  527,
-
-      528,  518,  530,  525,  533,  522,  523,  532,  534,  535,
-      536,  533,  527,  538,  537,  542,  539,  540,  541,  526,
-      530,  534,  532,  543,  540,  541,  535,  548,  545,  550,
-      554,  536,  537,  531,  548,  529,  538,  539,  550,  524,
-      519,  511,  498,  497,  542,  545,  543,  495,  491,  487,
-      485,  554,  557,  557,  557,  557,  557,  557,  557,  557,
-      558,  484,  558,  558,  558,  558,  559,  483,  559,  559,
-      478,  559,  561,  473,  561,  561,  561,  561,  561,  561,
-      562,  464,  562,  562,  455,  562,  564,  449,  564,  565,
-      565,  565,  448,  446,  444,  438,  437,  435,  434,  433,
-
-      432,  431,  428,  424,  423,  422,  421,  419,  414,  411,
-      410,  409,  406,  405,  401,  396,  393,  385,  383,  379,
-      366,  355,  354,  352,  337,  334,  332,  329,  327,  325,
-      320,  319,  317,  314,  311,  307,  304,  299,  296,  295,
-      286,  283,  282,  277,  276,  260,  259,  256,  244,  235,
-      234,  232,  231,  229,  228,  227,  219,  216,  215,  211,
-      210,  209,  203,  200,  199,  197,  196,  195,  194,  193,
-      192,  190,  177,  176,  175,  153,  149,  147,  144,  141,
-      137,  133,  117,   93,   82,   69,   59,   48,   45,   44,
-       39,   37,   14,    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,
-      556,  556,  556,  556
+        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
     } ;
 
 static yy_state_type yy_state_buf[YY_BUF_SIZE + 2], *yy_state_ptr;
@@ -881,7 +877,7 @@
 #define YY_MORE_ADJ 0
 #define YY_RESTORE_YY_MORE_OFFSET
 char *yytext;
-#line 1 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 1 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 #define INITIAL 0
 /*===-- Lexer.l - Scanner for llvm assembly files --------------*- C++ -*--===//
 //
@@ -896,7 +892,7 @@
 //
 //===----------------------------------------------------------------------===*/
 #define YY_NEVER_INTERACTIVE 1
-#line 28 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 28 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 #include "ParserInternals.h"
 #include "llvm/Module.h"
 #include <list>
@@ -1029,7 +1025,7 @@
 /* HexIntConstant - Hexadecimal constant generated by the CFE to avoid forcing
  * it to deal with 64 bit numbers.
  */
-#line 1033 "Lexer.cpp"
+#line 1029 "Lexer.cpp"
 
 /* Macros after this point can all be overridden by user definitions in
  * section 1.
@@ -1180,10 +1176,10 @@
 	register char *yy_cp = NULL, *yy_bp = NULL;
 	register int yy_act;
 
-#line 186 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 188 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 
 
-#line 1187 "Lexer.cpp"
+#line 1183 "Lexer.cpp"
 
 	if ( yy_init )
 		{
@@ -1231,14 +1227,14 @@
 			while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
 				{
 				yy_current_state = (int) yy_def[yy_current_state];
-				if ( yy_current_state >= 557 )
+				if ( yy_current_state >= 551 )
 					yy_c = yy_meta[(unsigned int) yy_c];
 				}
 			yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
 			*yy_state_ptr++ = yy_current_state;
 			++yy_cp;
 			}
-		while ( yy_current_state != 556 );
+		while ( yy_current_state != 550 );
 
 yy_find_action:
 		yy_current_state = *--yy_state_ptr;
@@ -1276,636 +1272,627 @@
 	{ /* beginning of action switch */
 case 1:
 YY_RULE_SETUP
-#line 188 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 190 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { /* Ignore comments for now */ }
 	YY_BREAK
 case 2:
 YY_RULE_SETUP
-#line 190 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 192 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { return BEGINTOK; }
 	YY_BREAK
 case 3:
 YY_RULE_SETUP
-#line 191 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 193 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { return ENDTOK; }
 	YY_BREAK
 case 4:
 YY_RULE_SETUP
-#line 192 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 194 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { return TRUETOK;  }
 	YY_BREAK
 case 5:
 YY_RULE_SETUP
-#line 193 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 195 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { return FALSETOK; }
 	YY_BREAK
 case 6:
 YY_RULE_SETUP
-#line 194 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 196 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { return DECLARE; }
 	YY_BREAK
 case 7:
 YY_RULE_SETUP
-#line 195 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 197 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { return DEFINE; }
 	YY_BREAK
 case 8:
 YY_RULE_SETUP
-#line 196 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 198 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { return GLOBAL; }
 	YY_BREAK
 case 9:
 YY_RULE_SETUP
-#line 197 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 199 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { return CONSTANT; }
 	YY_BREAK
 case 10:
 YY_RULE_SETUP
-#line 198 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 200 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { return INTERNAL; }
 	YY_BREAK
 case 11:
 YY_RULE_SETUP
-#line 199 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 201 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { return LINKONCE; }
 	YY_BREAK
 case 12:
 YY_RULE_SETUP
-#line 200 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 202 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { return WEAK; }
 	YY_BREAK
 case 13:
 YY_RULE_SETUP
-#line 201 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 203 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { return APPENDING; }
 	YY_BREAK
 case 14:
 YY_RULE_SETUP
-#line 202 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 204 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { return DLLIMPORT; }
 	YY_BREAK
 case 15:
 YY_RULE_SETUP
-#line 203 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 205 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { return DLLEXPORT; }
 	YY_BREAK
 case 16:
 YY_RULE_SETUP
-#line 204 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 206 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { return EXTERN_WEAK; }
 	YY_BREAK
 case 17:
 YY_RULE_SETUP
-#line 205 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 207 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { return EXTERNAL; }
 	YY_BREAK
 case 18:
 YY_RULE_SETUP
-#line 206 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 208 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { return IMPLEMENTATION; }
 	YY_BREAK
 case 19:
 YY_RULE_SETUP
-#line 207 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 209 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { return ZEROINITIALIZER; }
 	YY_BREAK
 case 20:
 YY_RULE_SETUP
-#line 208 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 210 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { return DOTDOTDOT; }
 	YY_BREAK
 case 21:
 YY_RULE_SETUP
-#line 209 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 211 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { return UNDEF; }
 	YY_BREAK
 case 22:
 YY_RULE_SETUP
-#line 210 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 212 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { return NULL_TOK; }
 	YY_BREAK
 case 23:
 YY_RULE_SETUP
-#line 211 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 213 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { return TO; }
 	YY_BREAK
 case 24:
 YY_RULE_SETUP
-#line 212 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 214 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { return TAIL; }
 	YY_BREAK
 case 25:
 YY_RULE_SETUP
-#line 213 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 215 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { return TARGET; }
 	YY_BREAK
 case 26:
 YY_RULE_SETUP
-#line 214 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 216 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { return TRIPLE; }
 	YY_BREAK
 case 27:
 YY_RULE_SETUP
-#line 215 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 217 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { return DEPLIBS; }
 	YY_BREAK
 case 28:
 YY_RULE_SETUP
-#line 216 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 218 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { return ENDIAN; }
 	YY_BREAK
 case 29:
 YY_RULE_SETUP
-#line 217 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 219 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { return POINTERSIZE; }
 	YY_BREAK
 case 30:
 YY_RULE_SETUP
-#line 218 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 220 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { return DATALAYOUT; }
 	YY_BREAK
 case 31:
 YY_RULE_SETUP
-#line 219 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 221 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { return LITTLE; }
 	YY_BREAK
 case 32:
 YY_RULE_SETUP
-#line 220 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 222 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { return BIG; }
 	YY_BREAK
 case 33:
 YY_RULE_SETUP
-#line 221 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 223 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { return VOLATILE; }
 	YY_BREAK
 case 34:
 YY_RULE_SETUP
-#line 222 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 224 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { return ALIGN;  }
 	YY_BREAK
 case 35:
 YY_RULE_SETUP
-#line 223 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 225 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { return SECTION; }
 	YY_BREAK
 case 36:
 YY_RULE_SETUP
-#line 224 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 226 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { return MODULE; }
 	YY_BREAK
 case 37:
 YY_RULE_SETUP
-#line 225 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 227 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { return ASM_TOK; }
 	YY_BREAK
 case 38:
 YY_RULE_SETUP
-#line 226 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 228 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { return SIDEEFFECT; }
 	YY_BREAK
 case 39:
 YY_RULE_SETUP
-#line 228 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 230 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { return CC_TOK; }
 	YY_BREAK
 case 40:
 YY_RULE_SETUP
-#line 229 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 231 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { return CCC_TOK; }
 	YY_BREAK
 case 41:
 YY_RULE_SETUP
-#line 230 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 232 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { return CSRETCC_TOK; }
 	YY_BREAK
 case 42:
 YY_RULE_SETUP
-#line 231 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 233 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { return FASTCC_TOK; }
 	YY_BREAK
 case 43:
 YY_RULE_SETUP
-#line 232 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 234 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { return COLDCC_TOK; }
 	YY_BREAK
 case 44:
 YY_RULE_SETUP
-#line 233 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 235 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { return X86_STDCALLCC_TOK; }
 	YY_BREAK
 case 45:
 YY_RULE_SETUP
-#line 234 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 236 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { return X86_FASTCALLCC_TOK; }
 	YY_BREAK
 case 46:
 YY_RULE_SETUP
-#line 236 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 238 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { RET_TY(Type::VoidTy,  VOID);  }
 	YY_BREAK
 case 47:
 YY_RULE_SETUP
-#line 237 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 239 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { RET_TY(Type::Int1Ty,  BOOL);  }
 	YY_BREAK
 case 48:
 YY_RULE_SETUP
-#line 238 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
-{ RET_TY(Type::Int8Ty,  INT8);  }
+#line 240 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+{ RET_TY(Type::FloatTy, FLOAT); }
 	YY_BREAK
 case 49:
 YY_RULE_SETUP
-#line 239 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
-{ RET_TY(Type::Int16Ty, INT16); }
+#line 241 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+{ RET_TY(Type::DoubleTy,DOUBLE);}
 	YY_BREAK
 case 50:
 YY_RULE_SETUP
-#line 240 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
-{ RET_TY(Type::Int32Ty, INT32); }
+#line 242 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+{ RET_TY(Type::LabelTy, LABEL); }
 	YY_BREAK
 case 51:
 YY_RULE_SETUP
-#line 241 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
-{ RET_TY(Type::Int64Ty, INT64); }
+#line 243 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+{ return TYPE;   }
 	YY_BREAK
 case 52:
 YY_RULE_SETUP
-#line 242 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
-{ RET_TY(Type::FloatTy, FLOAT); }
+#line 244 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+{ return OPAQUE; }
 	YY_BREAK
 case 53:
 YY_RULE_SETUP
-#line 243 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
-{ RET_TY(Type::DoubleTy,DOUBLE);}
+#line 245 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+{ uint64_t NumBits = atoull(yytext+1);
+                  if (NumBits < IntegerType::MIN_INT_BITS || 
+                      NumBits > IntegerType::MAX_INT_BITS)
+                    GenerateError("Bitwidth for integer type out of range!");
+                  const Type* Ty = IntegerType::get(NumBits);
+                  RET_TY(Ty, INTTYPE);
+                }
 	YY_BREAK
 case 54:
 YY_RULE_SETUP
-#line 244 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
-{ RET_TY(Type::LabelTy, LABEL); }
-	YY_BREAK
-case 55:
-YY_RULE_SETUP
-#line 245 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
-{ return TYPE;   }
-	YY_BREAK
-case 56:
-YY_RULE_SETUP
-#line 246 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
-{ return OPAQUE; }
-	YY_BREAK
-case 57:
-YY_RULE_SETUP
-#line 248 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 253 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { RET_TOK(BinaryOpVal, Add, ADD); }
 	YY_BREAK
-case 58:
+case 55:
 YY_RULE_SETUP
-#line 249 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 254 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { RET_TOK(BinaryOpVal, Sub, SUB); }
 	YY_BREAK
-case 59:
+case 56:
 YY_RULE_SETUP
-#line 250 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 255 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { RET_TOK(BinaryOpVal, Mul, MUL); }
 	YY_BREAK
-case 60:
+case 57:
 YY_RULE_SETUP
-#line 251 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 256 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { RET_TOK(BinaryOpVal, UDiv, UDIV); }
 	YY_BREAK
-case 61:
+case 58:
 YY_RULE_SETUP
-#line 252 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 257 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { RET_TOK(BinaryOpVal, SDiv, SDIV); }
 	YY_BREAK
-case 62:
+case 59:
 YY_RULE_SETUP
-#line 253 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 258 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { RET_TOK(BinaryOpVal, FDiv, FDIV); }
 	YY_BREAK
-case 63:
+case 60:
 YY_RULE_SETUP
-#line 254 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 259 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { RET_TOK(BinaryOpVal, URem, UREM); }
 	YY_BREAK
-case 64:
+case 61:
 YY_RULE_SETUP
-#line 255 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 260 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { RET_TOK(BinaryOpVal, SRem, SREM); }
 	YY_BREAK
-case 65:
+case 62:
 YY_RULE_SETUP
-#line 256 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 261 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { RET_TOK(BinaryOpVal, FRem, FREM); }
 	YY_BREAK
-case 66:
+case 63:
 YY_RULE_SETUP
-#line 257 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 262 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { RET_TOK(BinaryOpVal, And, AND); }
 	YY_BREAK
-case 67:
+case 64:
 YY_RULE_SETUP
-#line 258 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 263 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { RET_TOK(BinaryOpVal, Or , OR ); }
 	YY_BREAK
-case 68:
+case 65:
 YY_RULE_SETUP
-#line 259 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 264 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { RET_TOK(BinaryOpVal, Xor, XOR); }
 	YY_BREAK
-case 69:
+case 66:
 YY_RULE_SETUP
-#line 260 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 265 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { RET_TOK(OtherOpVal,  ICmp,  ICMP); }
 	YY_BREAK
-case 70:
+case 67:
 YY_RULE_SETUP
-#line 261 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 266 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { RET_TOK(OtherOpVal,  FCmp,  FCMP); }
 	YY_BREAK
-case 71:
+case 68:
 YY_RULE_SETUP
-#line 262 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 267 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { return EQ;  }
 	YY_BREAK
-case 72:
+case 69:
 YY_RULE_SETUP
-#line 263 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 268 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { return NE;  }
 	YY_BREAK
-case 73:
+case 70:
 YY_RULE_SETUP
-#line 264 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 269 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { return SLT; }
 	YY_BREAK
-case 74:
+case 71:
 YY_RULE_SETUP
-#line 265 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 270 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { return SGT; }
 	YY_BREAK
-case 75:
+case 72:
 YY_RULE_SETUP
-#line 266 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 271 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { return SLE; }
 	YY_BREAK
-case 76:
+case 73:
 YY_RULE_SETUP
-#line 267 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 272 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { return SGE; }
 	YY_BREAK
-case 77:
+case 74:
 YY_RULE_SETUP
-#line 268 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 273 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { return ULT; }
 	YY_BREAK
-case 78:
+case 75:
 YY_RULE_SETUP
-#line 269 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 274 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { return UGT; }
 	YY_BREAK
-case 79:
+case 76:
 YY_RULE_SETUP
-#line 270 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 275 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { return ULE; }
 	YY_BREAK
-case 80:
+case 77:
 YY_RULE_SETUP
-#line 271 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 276 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { return UGE; }
 	YY_BREAK
-case 81:
+case 78:
 YY_RULE_SETUP
-#line 272 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 277 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { return OEQ; }
 	YY_BREAK
-case 82:
+case 79:
 YY_RULE_SETUP
-#line 273 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 278 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { return ONE; }
 	YY_BREAK
-case 83:
+case 80:
 YY_RULE_SETUP
-#line 274 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 279 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { return OLT; }
 	YY_BREAK
-case 84:
+case 81:
 YY_RULE_SETUP
-#line 275 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 280 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { return OGT; }
 	YY_BREAK
-case 85:
+case 82:
 YY_RULE_SETUP
-#line 276 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 281 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { return OLE; }
 	YY_BREAK
-case 86:
+case 83:
 YY_RULE_SETUP
-#line 277 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 282 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { return OGE; }
 	YY_BREAK
-case 87:
+case 84:
 YY_RULE_SETUP
-#line 278 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 283 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { return ORD; }
 	YY_BREAK
-case 88:
+case 85:
 YY_RULE_SETUP
-#line 279 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 284 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { return UNO; }
 	YY_BREAK
-case 89:
+case 86:
 YY_RULE_SETUP
-#line 280 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 285 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { return UEQ; }
 	YY_BREAK
-case 90:
+case 87:
 YY_RULE_SETUP
-#line 281 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 286 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { return UNE; }
 	YY_BREAK
-case 91:
+case 88:
 YY_RULE_SETUP
-#line 283 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 288 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { RET_TOK(OtherOpVal, PHI, PHI_TOK); }
 	YY_BREAK
-case 92:
+case 89:
 YY_RULE_SETUP
-#line 284 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 289 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { RET_TOK(OtherOpVal, Call, CALL); }
 	YY_BREAK
-case 93:
+case 90:
 YY_RULE_SETUP
-#line 285 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 290 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { RET_TOK(CastOpVal, Trunc, TRUNC); }
 	YY_BREAK
-case 94:
+case 91:
 YY_RULE_SETUP
-#line 286 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 291 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { RET_TOK(CastOpVal, ZExt, ZEXT); }
 	YY_BREAK
-case 95:
+case 92:
 YY_RULE_SETUP
-#line 287 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 292 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { RET_TOK(CastOpVal, SExt, SEXT); }
 	YY_BREAK
-case 96:
+case 93:
 YY_RULE_SETUP
-#line 288 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 293 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { RET_TOK(CastOpVal, FPTrunc, FPTRUNC); }
 	YY_BREAK
-case 97:
+case 94:
 YY_RULE_SETUP
-#line 289 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 294 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { RET_TOK(CastOpVal, FPExt, FPEXT); }
 	YY_BREAK
-case 98:
+case 95:
 YY_RULE_SETUP
-#line 290 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 295 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { RET_TOK(CastOpVal, UIToFP, UITOFP); }
 	YY_BREAK
-case 99:
+case 96:
 YY_RULE_SETUP
-#line 291 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 296 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { RET_TOK(CastOpVal, SIToFP, SITOFP); }
 	YY_BREAK
-case 100:
+case 97:
 YY_RULE_SETUP
-#line 292 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 297 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { RET_TOK(CastOpVal, FPToUI, FPTOUI); }
 	YY_BREAK
-case 101:
+case 98:
 YY_RULE_SETUP
-#line 293 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 298 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { RET_TOK(CastOpVal, FPToSI, FPTOSI); }
 	YY_BREAK
-case 102:
+case 99:
 YY_RULE_SETUP
-#line 294 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 299 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { RET_TOK(CastOpVal, IntToPtr, INTTOPTR); }
 	YY_BREAK
-case 103:
+case 100:
 YY_RULE_SETUP
-#line 295 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 300 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { RET_TOK(CastOpVal, PtrToInt, PTRTOINT); }
 	YY_BREAK
-case 104:
+case 101:
 YY_RULE_SETUP
-#line 296 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 301 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { RET_TOK(CastOpVal, BitCast, BITCAST); }
 	YY_BREAK
-case 105:
+case 102:
 YY_RULE_SETUP
-#line 297 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 302 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { RET_TOK(OtherOpVal, Select, SELECT); }
 	YY_BREAK
-case 106:
+case 103:
 YY_RULE_SETUP
-#line 298 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 303 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { RET_TOK(OtherOpVal, Shl, SHL); }
 	YY_BREAK
-case 107:
+case 104:
 YY_RULE_SETUP
-#line 299 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 304 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { RET_TOK(OtherOpVal, LShr, LSHR); }
 	YY_BREAK
-case 108:
+case 105:
 YY_RULE_SETUP
-#line 300 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 305 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { RET_TOK(OtherOpVal, AShr, ASHR); }
 	YY_BREAK
-case 109:
+case 106:
 YY_RULE_SETUP
-#line 301 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 306 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { RET_TOK(OtherOpVal, VAArg , VAARG); }
 	YY_BREAK
-case 110:
+case 107:
 YY_RULE_SETUP
-#line 302 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 307 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { RET_TOK(TermOpVal, Ret, RET); }
 	YY_BREAK
-case 111:
+case 108:
 YY_RULE_SETUP
-#line 303 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 308 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { RET_TOK(TermOpVal, Br, BR); }
 	YY_BREAK
-case 112:
+case 109:
 YY_RULE_SETUP
-#line 304 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 309 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { RET_TOK(TermOpVal, Switch, SWITCH); }
 	YY_BREAK
-case 113:
+case 110:
 YY_RULE_SETUP
-#line 305 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 310 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { RET_TOK(TermOpVal, Invoke, INVOKE); }
 	YY_BREAK
-case 114:
+case 111:
 YY_RULE_SETUP
-#line 306 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 311 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { RET_TOK(TermOpVal, Unwind, UNWIND); }
 	YY_BREAK
-case 115:
+case 112:
 YY_RULE_SETUP
-#line 307 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 312 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { RET_TOK(TermOpVal, Unreachable, UNREACHABLE); }
 	YY_BREAK
-case 116:
+case 113:
 YY_RULE_SETUP
-#line 309 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 314 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { RET_TOK(MemOpVal, Malloc, MALLOC); }
 	YY_BREAK
-case 117:
+case 114:
 YY_RULE_SETUP
-#line 310 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 315 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { RET_TOK(MemOpVal, Alloca, ALLOCA); }
 	YY_BREAK
-case 118:
+case 115:
 YY_RULE_SETUP
-#line 311 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 316 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { RET_TOK(MemOpVal, Free, FREE); }
 	YY_BREAK
-case 119:
+case 116:
 YY_RULE_SETUP
-#line 312 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 317 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { RET_TOK(MemOpVal, Load, LOAD); }
 	YY_BREAK
-case 120:
+case 117:
 YY_RULE_SETUP
-#line 313 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 318 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { RET_TOK(MemOpVal, Store, STORE); }
 	YY_BREAK
-case 121:
+case 118:
 YY_RULE_SETUP
-#line 314 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 319 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { RET_TOK(MemOpVal, GetElementPtr, GETELEMENTPTR); }
 	YY_BREAK
-case 122:
+case 119:
 YY_RULE_SETUP
-#line 316 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 321 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { RET_TOK(OtherOpVal, ExtractElement, EXTRACTELEMENT); }
 	YY_BREAK
-case 123:
+case 120:
 YY_RULE_SETUP
-#line 317 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 322 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { RET_TOK(OtherOpVal, InsertElement, INSERTELEMENT); }
 	YY_BREAK
-case 124:
+case 121:
 YY_RULE_SETUP
-#line 318 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 323 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { RET_TOK(OtherOpVal, ShuffleVector, SHUFFLEVECTOR); }
 	YY_BREAK
-case 125:
+case 122:
 YY_RULE_SETUP
-#line 321 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 326 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 {
                   UnEscapeLexed(yytext+1);
                   llvmAsmlval.StrVal = strdup(yytext+1);             // Skip %
                   return VAR_ID;
                 }
 	YY_BREAK
-case 126:
+case 123:
 YY_RULE_SETUP
-#line 326 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 331 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 {
                   yytext[strlen(yytext)-1] = 0;  // nuke colon
                   UnEscapeLexed(yytext);
@@ -1913,9 +1900,9 @@
                   return LABELSTR;
                 }
 	YY_BREAK
-case 127:
+case 124:
 YY_RULE_SETUP
-#line 332 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 337 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 {
                   yytext[strlen(yytext)-2] = 0;  // nuke colon, end quote
                   UnEscapeLexed(yytext+1);
@@ -1923,9 +1910,9 @@
                   return LABELSTR;
                 }
 	YY_BREAK
-case 128:
+case 125:
 YY_RULE_SETUP
-#line 339 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 344 "/proj/llvm/llvm-1/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
@@ -1936,14 +1923,14 @@
                    return STRINGCONSTANT;
                  }
 	YY_BREAK
-case 129:
+case 126:
 YY_RULE_SETUP
-#line 350 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 355 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { llvmAsmlval.UInt64Val = atoull(yytext); return EUINT64VAL; }
 	YY_BREAK
-case 130:
+case 127:
 YY_RULE_SETUP
-#line 351 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 356 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 {
                   uint64_t Val = atoull(yytext+1);
                   // +1:  we have bigger negative range
@@ -1953,17 +1940,17 @@
                   return ESINT64VAL;
                 }
 	YY_BREAK
-case 131:
+case 128:
 YY_RULE_SETUP
-#line 359 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 364 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 {
                    llvmAsmlval.UInt64Val = HexIntToVal(yytext+3);
                    return yytext[0] == 's' ? ESINT64VAL : EUINT64VAL;
                  }
 	YY_BREAK
-case 132:
+case 129:
 YY_RULE_SETUP
-#line 364 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 369 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 {
                   uint64_t Val = atoull(yytext+1);
                   if ((unsigned)Val != Val)
@@ -1972,9 +1959,9 @@
                   return UINTVAL;
                 }
 	YY_BREAK
-case 133:
+case 130:
 YY_RULE_SETUP
-#line 371 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 376 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 {
                   uint64_t Val = atoull(yytext+2);
                   // +1:  we have bigger negative range
@@ -1984,18 +1971,18 @@
                   return SINTVAL;
                 }
 	YY_BREAK
-case 134:
+case 131:
 YY_RULE_SETUP
-#line 380 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 385 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { llvmAsmlval.FPVal = atof(yytext); return FPVAL; }
 	YY_BREAK
-case 135:
+case 132:
 YY_RULE_SETUP
-#line 381 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 386 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { llvmAsmlval.FPVal = HexToFP(yytext); return FPVAL; }
 	YY_BREAK
 case YY_STATE_EOF(INITIAL):
-#line 383 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 388 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 {
                   /* Make sure to free the internal buffers for flex when we are
                    * done reading our input!
@@ -2004,22 +1991,22 @@
                   return EOF;
                 }
 	YY_BREAK
-case 136:
+case 133:
 YY_RULE_SETUP
-#line 391 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 396 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { /* Ignore whitespace */ }
 	YY_BREAK
-case 137:
+case 134:
 YY_RULE_SETUP
-#line 392 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 397 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { return yytext[0]; }
 	YY_BREAK
-case 138:
+case 135:
 YY_RULE_SETUP
-#line 394 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 399 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 YY_FATAL_ERROR( "flex scanner jammed" );
 	YY_BREAK
-#line 2023 "Lexer.cpp"
+#line 2010 "Lexer.cpp"
 
 	case YY_END_OF_BUFFER:
 		{
@@ -2306,7 +2293,7 @@
 		while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
 			{
 			yy_current_state = (int) yy_def[yy_current_state];
-			if ( yy_current_state >= 557 )
+			if ( yy_current_state >= 551 )
 				yy_c = yy_meta[(unsigned int) yy_c];
 			}
 		yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
@@ -2336,11 +2323,11 @@
 	while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
 		{
 		yy_current_state = (int) yy_def[yy_current_state];
-		if ( yy_current_state >= 557 )
+		if ( yy_current_state >= 551 )
 			yy_c = yy_meta[(unsigned int) yy_c];
 		}
 	yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
-	yy_is_jam = (yy_current_state == 556);
+	yy_is_jam = (yy_current_state == 550);
 	if ( ! yy_is_jam )
 		*yy_state_ptr++ = yy_current_state;
 
@@ -2897,5 +2884,5 @@
 	return 0;
 	}
 #endif
-#line 394 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 399 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 


Index: llvm/lib/AsmParser/Lexer.l
diff -u llvm/lib/AsmParser/Lexer.l:1.91 llvm/lib/AsmParser/Lexer.l:1.92
--- llvm/lib/AsmParser/Lexer.l:1.91	Thu Jan 11 12:21:28 2007
+++ llvm/lib/AsmParser/Lexer.l	Fri Jan 12 01:05:13 2007
@@ -165,6 +165,8 @@
 EPInteger     %[0-9]+
 ENInteger    %-[0-9]+
 
+IntegerType i[0-9]*
+
 
 /* E[PN]Integer: match positive and negative literal integer values */
 PInteger   [0-9]+
@@ -235,15 +237,18 @@
 
 void            { RET_TY(Type::VoidTy,  VOID);  }
 bool            { RET_TY(Type::Int1Ty,  BOOL);  }
-i8              { RET_TY(Type::Int8Ty,  INT8);  }
-i16             { RET_TY(Type::Int16Ty, INT16); }
-i32             { RET_TY(Type::Int32Ty, INT32); }
-i64             { RET_TY(Type::Int64Ty, INT64); }
 float           { RET_TY(Type::FloatTy, FLOAT); }
 double          { RET_TY(Type::DoubleTy,DOUBLE);}
 label           { RET_TY(Type::LabelTy, LABEL); }
 type            { return TYPE;   }
 opaque          { return OPAQUE; }
+{IntegerType}   { uint64_t NumBits = atoull(yytext+1);
+                  if (NumBits < IntegerType::MIN_INT_BITS || 
+                      NumBits > IntegerType::MAX_INT_BITS)
+                    GenerateError("Bitwidth for integer type out of range!");
+                  const Type* Ty = IntegerType::get(NumBits);
+                  RET_TY(Ty, INTTYPE);
+                }
 
 add             { RET_TOK(BinaryOpVal, Add, ADD); }
 sub             { RET_TOK(BinaryOpVal, Sub, SUB); }


Index: llvm/lib/AsmParser/Lexer.l.cvs
diff -u llvm/lib/AsmParser/Lexer.l.cvs:1.18 llvm/lib/AsmParser/Lexer.l.cvs:1.19
--- llvm/lib/AsmParser/Lexer.l.cvs:1.18	Thu Jan 11 12:21:28 2007
+++ llvm/lib/AsmParser/Lexer.l.cvs	Fri Jan 12 01:05:13 2007
@@ -165,6 +165,8 @@
 EPInteger     %[0-9]+
 ENInteger    %-[0-9]+
 
+IntegerType i[0-9]*
+
 
 /* E[PN]Integer: match positive and negative literal integer values */
 PInteger   [0-9]+
@@ -235,15 +237,18 @@
 
 void            { RET_TY(Type::VoidTy,  VOID);  }
 bool            { RET_TY(Type::Int1Ty,  BOOL);  }
-i8              { RET_TY(Type::Int8Ty,  INT8);  }
-i16             { RET_TY(Type::Int16Ty, INT16); }
-i32             { RET_TY(Type::Int32Ty, INT32); }
-i64             { RET_TY(Type::Int64Ty, INT64); }
 float           { RET_TY(Type::FloatTy, FLOAT); }
 double          { RET_TY(Type::DoubleTy,DOUBLE);}
 label           { RET_TY(Type::LabelTy, LABEL); }
 type            { return TYPE;   }
 opaque          { return OPAQUE; }
+{IntegerType}   { uint64_t NumBits = atoull(yytext+1);
+                  if (NumBits < IntegerType::MIN_INT_BITS || 
+                      NumBits > IntegerType::MAX_INT_BITS)
+                    GenerateError("Bitwidth for integer type out of range!");
+                  const Type* Ty = IntegerType::get(NumBits);
+                  RET_TY(Ty, INTTYPE);
+                }
 
 add             { RET_TOK(BinaryOpVal, Add, ADD); }
 sub             { RET_TOK(BinaryOpVal, Sub, SUB); }


Index: llvm/lib/AsmParser/llvmAsmParser.cpp.cvs
diff -u llvm/lib/AsmParser/llvmAsmParser.cpp.cvs:1.49 llvm/lib/AsmParser/llvmAsmParser.cpp.cvs:1.50
--- llvm/lib/AsmParser/llvmAsmParser.cpp.cvs:1.49	Thu Jan 11 12:21:28 2007
+++ llvm/lib/AsmParser/llvmAsmParser.cpp.cvs	Fri Jan 12 01:05:13 2007
@@ -71,132 +71,129 @@
      FPVAL = 262,
      VOID = 263,
      BOOL = 264,
-     INT8 = 265,
-     INT16 = 266,
-     INT32 = 267,
-     INT64 = 268,
-     FLOAT = 269,
-     DOUBLE = 270,
-     LABEL = 271,
-     TYPE = 272,
-     VAR_ID = 273,
-     LABELSTR = 274,
-     STRINGCONSTANT = 275,
-     IMPLEMENTATION = 276,
-     ZEROINITIALIZER = 277,
-     TRUETOK = 278,
-     FALSETOK = 279,
-     BEGINTOK = 280,
-     ENDTOK = 281,
-     DECLARE = 282,
-     DEFINE = 283,
-     GLOBAL = 284,
-     CONSTANT = 285,
-     SECTION = 286,
-     VOLATILE = 287,
-     TO = 288,
-     DOTDOTDOT = 289,
-     NULL_TOK = 290,
-     UNDEF = 291,
-     INTERNAL = 292,
-     LINKONCE = 293,
-     WEAK = 294,
-     APPENDING = 295,
-     DLLIMPORT = 296,
-     DLLEXPORT = 297,
-     EXTERN_WEAK = 298,
-     OPAQUE = 299,
-     NOT = 300,
-     EXTERNAL = 301,
-     TARGET = 302,
-     TRIPLE = 303,
-     ENDIAN = 304,
-     POINTERSIZE = 305,
-     LITTLE = 306,
-     BIG = 307,
-     ALIGN = 308,
-     DEPLIBS = 309,
-     CALL = 310,
-     TAIL = 311,
-     ASM_TOK = 312,
-     MODULE = 313,
-     SIDEEFFECT = 314,
-     CC_TOK = 315,
-     CCC_TOK = 316,
-     CSRETCC_TOK = 317,
-     FASTCC_TOK = 318,
-     COLDCC_TOK = 319,
-     X86_STDCALLCC_TOK = 320,
-     X86_FASTCALLCC_TOK = 321,
-     DATALAYOUT = 322,
-     RET = 323,
-     BR = 324,
-     SWITCH = 325,
-     INVOKE = 326,
-     UNWIND = 327,
-     UNREACHABLE = 328,
-     ADD = 329,
-     SUB = 330,
-     MUL = 331,
-     UDIV = 332,
-     SDIV = 333,
-     FDIV = 334,
-     UREM = 335,
-     SREM = 336,
-     FREM = 337,
-     AND = 338,
-     OR = 339,
-     XOR = 340,
-     ICMP = 341,
-     FCMP = 342,
-     EQ = 343,
-     NE = 344,
-     SLT = 345,
-     SGT = 346,
-     SLE = 347,
-     SGE = 348,
-     ULT = 349,
-     UGT = 350,
-     ULE = 351,
-     UGE = 352,
-     OEQ = 353,
-     ONE = 354,
-     OLT = 355,
-     OGT = 356,
-     OLE = 357,
-     OGE = 358,
-     ORD = 359,
-     UNO = 360,
-     UEQ = 361,
-     UNE = 362,
-     MALLOC = 363,
-     ALLOCA = 364,
-     FREE = 365,
-     LOAD = 366,
-     STORE = 367,
-     GETELEMENTPTR = 368,
-     TRUNC = 369,
-     ZEXT = 370,
-     SEXT = 371,
-     FPTRUNC = 372,
-     FPEXT = 373,
-     BITCAST = 374,
-     UITOFP = 375,
-     SITOFP = 376,
-     FPTOUI = 377,
-     FPTOSI = 378,
-     INTTOPTR = 379,
-     PTRTOINT = 380,
-     PHI_TOK = 381,
-     SELECT = 382,
-     SHL = 383,
-     LSHR = 384,
-     ASHR = 385,
-     VAARG = 386,
-     EXTRACTELEMENT = 387,
-     INSERTELEMENT = 388,
-     SHUFFLEVECTOR = 389,
-     NORETURN = 390
+     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,
+     NOT = 297,
+     EXTERNAL = 298,
+     TARGET = 299,
+     TRIPLE = 300,
+     ENDIAN = 301,
+     POINTERSIZE = 302,
+     LITTLE = 303,
+     BIG = 304,
+     ALIGN = 305,
+     DEPLIBS = 306,
+     CALL = 307,
+     TAIL = 308,
+     ASM_TOK = 309,
+     MODULE = 310,
+     SIDEEFFECT = 311,
+     CC_TOK = 312,
+     CCC_TOK = 313,
+     CSRETCC_TOK = 314,
+     FASTCC_TOK = 315,
+     COLDCC_TOK = 316,
+     X86_STDCALLCC_TOK = 317,
+     X86_FASTCALLCC_TOK = 318,
+     DATALAYOUT = 319,
+     RET = 320,
+     BR = 321,
+     SWITCH = 322,
+     INVOKE = 323,
+     UNWIND = 324,
+     UNREACHABLE = 325,
+     ADD = 326,
+     SUB = 327,
+     MUL = 328,
+     UDIV = 329,
+     SDIV = 330,
+     FDIV = 331,
+     UREM = 332,
+     SREM = 333,
+     FREM = 334,
+     AND = 335,
+     OR = 336,
+     XOR = 337,
+     ICMP = 338,
+     FCMP = 339,
+     EQ = 340,
+     NE = 341,
+     SLT = 342,
+     SGT = 343,
+     SLE = 344,
+     SGE = 345,
+     ULT = 346,
+     UGT = 347,
+     ULE = 348,
+     UGE = 349,
+     OEQ = 350,
+     ONE = 351,
+     OLT = 352,
+     OGT = 353,
+     OLE = 354,
+     OGE = 355,
+     ORD = 356,
+     UNO = 357,
+     UEQ = 358,
+     UNE = 359,
+     MALLOC = 360,
+     ALLOCA = 361,
+     FREE = 362,
+     LOAD = 363,
+     STORE = 364,
+     GETELEMENTPTR = 365,
+     TRUNC = 366,
+     ZEXT = 367,
+     SEXT = 368,
+     FPTRUNC = 369,
+     FPEXT = 370,
+     BITCAST = 371,
+     UITOFP = 372,
+     SITOFP = 373,
+     FPTOUI = 374,
+     FPTOSI = 375,
+     INTTOPTR = 376,
+     PTRTOINT = 377,
+     PHI_TOK = 378,
+     SELECT = 379,
+     SHL = 380,
+     LSHR = 381,
+     ASHR = 382,
+     VAARG = 383,
+     EXTRACTELEMENT = 384,
+     INSERTELEMENT = 385,
+     SHUFFLEVECTOR = 386,
+     NORETURN = 387
    };
 #endif
 /* Tokens.  */
@@ -207,138 +204,135 @@
 #define FPVAL 262
 #define VOID 263
 #define BOOL 264
-#define INT8 265
-#define INT16 266
-#define INT32 267
-#define INT64 268
-#define FLOAT 269
-#define DOUBLE 270
-#define LABEL 271
-#define TYPE 272
-#define VAR_ID 273
-#define LABELSTR 274
-#define STRINGCONSTANT 275
-#define IMPLEMENTATION 276
-#define ZEROINITIALIZER 277
-#define TRUETOK 278
-#define FALSETOK 279
-#define BEGINTOK 280
-#define ENDTOK 281
-#define DECLARE 282
-#define DEFINE 283
-#define GLOBAL 284
-#define CONSTANT 285
-#define SECTION 286
-#define VOLATILE 287
-#define TO 288
-#define DOTDOTDOT 289
-#define NULL_TOK 290
-#define UNDEF 291
-#define INTERNAL 292
-#define LINKONCE 293
-#define WEAK 294
-#define APPENDING 295
-#define DLLIMPORT 296
-#define DLLEXPORT 297
-#define EXTERN_WEAK 298
-#define OPAQUE 299
-#define NOT 300
-#define EXTERNAL 301
-#define TARGET 302
-#define TRIPLE 303
-#define ENDIAN 304
-#define POINTERSIZE 305
-#define LITTLE 306
-#define BIG 307
-#define ALIGN 308
-#define DEPLIBS 309
-#define CALL 310
-#define TAIL 311
-#define ASM_TOK 312
-#define MODULE 313
-#define SIDEEFFECT 314
-#define CC_TOK 315
-#define CCC_TOK 316
-#define CSRETCC_TOK 317
-#define FASTCC_TOK 318
-#define COLDCC_TOK 319
-#define X86_STDCALLCC_TOK 320
-#define X86_FASTCALLCC_TOK 321
-#define DATALAYOUT 322
-#define RET 323
-#define BR 324
-#define SWITCH 325
-#define INVOKE 326
-#define UNWIND 327
-#define UNREACHABLE 328
-#define ADD 329
-#define SUB 330
-#define MUL 331
-#define UDIV 332
-#define SDIV 333
-#define FDIV 334
-#define UREM 335
-#define SREM 336
-#define FREM 337
-#define AND 338
-#define OR 339
-#define XOR 340
-#define ICMP 341
-#define FCMP 342
-#define EQ 343
-#define NE 344
-#define SLT 345
-#define SGT 346
-#define SLE 347
-#define SGE 348
-#define ULT 349
-#define UGT 350
-#define ULE 351
-#define UGE 352
-#define OEQ 353
-#define ONE 354
-#define OLT 355
-#define OGT 356
-#define OLE 357
-#define OGE 358
-#define ORD 359
-#define UNO 360
-#define UEQ 361
-#define UNE 362
-#define MALLOC 363
-#define ALLOCA 364
-#define FREE 365
-#define LOAD 366
-#define STORE 367
-#define GETELEMENTPTR 368
-#define TRUNC 369
-#define ZEXT 370
-#define SEXT 371
-#define FPTRUNC 372
-#define FPEXT 373
-#define BITCAST 374
-#define UITOFP 375
-#define SITOFP 376
-#define FPTOUI 377
-#define FPTOSI 378
-#define INTTOPTR 379
-#define PTRTOINT 380
-#define PHI_TOK 381
-#define SELECT 382
-#define SHL 383
-#define LSHR 384
-#define ASHR 385
-#define VAARG 386
-#define EXTRACTELEMENT 387
-#define INSERTELEMENT 388
-#define SHUFFLEVECTOR 389
-#define NORETURN 390
+#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 NOT 297
+#define EXTERNAL 298
+#define TARGET 299
+#define TRIPLE 300
+#define ENDIAN 301
+#define POINTERSIZE 302
+#define LITTLE 303
+#define BIG 304
+#define ALIGN 305
+#define DEPLIBS 306
+#define CALL 307
+#define TAIL 308
+#define ASM_TOK 309
+#define MODULE 310
+#define SIDEEFFECT 311
+#define CC_TOK 312
+#define CCC_TOK 313
+#define CSRETCC_TOK 314
+#define FASTCC_TOK 315
+#define COLDCC_TOK 316
+#define X86_STDCALLCC_TOK 317
+#define X86_FASTCALLCC_TOK 318
+#define DATALAYOUT 319
+#define RET 320
+#define BR 321
+#define SWITCH 322
+#define INVOKE 323
+#define UNWIND 324
+#define UNREACHABLE 325
+#define ADD 326
+#define SUB 327
+#define MUL 328
+#define UDIV 329
+#define SDIV 330
+#define FDIV 331
+#define UREM 332
+#define SREM 333
+#define FREM 334
+#define AND 335
+#define OR 336
+#define XOR 337
+#define ICMP 338
+#define FCMP 339
+#define EQ 340
+#define NE 341
+#define SLT 342
+#define SGT 343
+#define SLE 344
+#define SGE 345
+#define ULT 346
+#define UGT 347
+#define ULE 348
+#define UGE 349
+#define OEQ 350
+#define ONE 351
+#define OLT 352
+#define OGT 353
+#define OLE 354
+#define OGE 355
+#define ORD 356
+#define UNO 357
+#define UEQ 358
+#define UNE 359
+#define MALLOC 360
+#define ALLOCA 361
+#define FREE 362
+#define LOAD 363
+#define STORE 364
+#define GETELEMENTPTR 365
+#define TRUNC 366
+#define ZEXT 367
+#define SEXT 368
+#define FPTRUNC 369
+#define FPEXT 370
+#define BITCAST 371
+#define UITOFP 372
+#define SITOFP 373
+#define FPTOUI 374
+#define FPTOSI 375
+#define INTTOPTR 376
+#define PTRTOINT 377
+#define PHI_TOK 378
+#define SELECT 379
+#define SHL 380
+#define LSHR 381
+#define ASHR 382
+#define VAARG 383
+#define EXTRACTELEMENT 384
+#define INSERTELEMENT 385
+#define SHUFFLEVECTOR 386
+#define NORETURN 387
 
 
 
 
 /* Copy the first part of user declarations.  */
-#line 14 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 14 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
 
 #include "ParserInternals.h"
 #include "llvm/CallingConv.h"
@@ -1220,7 +1214,7 @@
 #endif
 
 #if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
-#line 876 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 876 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
 typedef union YYSTYPE {
   llvm::Module                           *ModuleVal;
   llvm::Function                         *FunctionVal;
@@ -1267,7 +1261,7 @@
   llvm::FCmpInst::Predicate         FPredicate;
 } YYSTYPE;
 /* Line 196 of yacc.c.  */
-#line 1271 "llvmAsmParser.tab.c"
+#line 1265 "llvmAsmParser.tab.c"
 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
 # define YYSTYPE_IS_DECLARED 1
 # define YYSTYPE_IS_TRIVIAL 1
@@ -1279,7 +1273,7 @@
 
 
 /* Line 219 of yacc.c.  */
-#line 1283 "llvmAsmParser.tab.c"
+#line 1277 "llvmAsmParser.tab.c"
 
 #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
 # define YYSIZE_T __SIZE_TYPE__
@@ -1430,20 +1424,20 @@
 /* YYFINAL -- State number of the termination state. */
 #define YYFINAL  37
 /* YYLAST -- Last index in YYTABLE.  */
-#define YYLAST   1584
+#define YYLAST   1512
 
 /* YYNTOKENS -- Number of terminals. */
-#define YYNTOKENS  150
+#define YYNTOKENS  147
 /* YYNNTS -- Number of nonterminals. */
 #define YYNNTS  78
 /* YYNRULES -- Number of rules. */
-#define YYNRULES  291
+#define YYNRULES  285
 /* YYNRULES -- Number of states. */
-#define YYNSTATES  576
+#define YYNSTATES  567
 
 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
 #define YYUNDEFTOK  2
-#define YYMAXUTOK   390
+#define YYMAXUTOK   387
 
 #define YYTRANSLATE(YYX)						\
   ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
@@ -1455,15 +1449,15 @@
        2,     2,     2,     2,     2,     2,     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,   141,   138,     2,   137,     2,     2,     2,     2,     2,
+     137,   138,   135,     2,   134,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     145,   136,   146,     2,     2,     2,     2,     2,     2,     2,
+     142,   133,   143,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,   142,   139,   144,     2,     2,     2,     2,     2,   149,
+       2,   139,   136,   141,     2,     2,     2,     2,     2,   146,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     143,     2,     2,   147,     2,   148,     2,     2,     2,     2,
+     140,     2,     2,   144,     2,   145,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
@@ -1489,8 +1483,7 @@
       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,   134,
-     135
+     125,   126,   127,   128,   129,   130,   131,   132
 };
 
 #if YYDEBUG
@@ -1504,128 +1497,126 @@
       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,   121,   123,   125,   128,   129,   131,   133,   135,   137,
-     139,   141,   143,   145,   146,   148,   150,   151,   153,   155,
-     157,   159,   160,   162,   164,   166,   168,   170,   172,   175,
-     177,   179,   180,   183,   185,   187,   188,   191,   192,   195,
-     196,   200,   203,   204,   206,   207,   211,   213,   216,   218,
-     220,   222,   224,   226,   228,   230,   232,   234,   236,   239,
-     241,   244,   250,   256,   262,   268,   272,   275,   281,   286,
-     289,   291,   293,   295,   299,   301,   305,   307,   308,   310,
-     314,   319,   323,   327,   332,   337,   341,   348,   354,   357,
-     360,   363,   366,   369,   372,   375,   378,   381,   384,   391,
-     397,   406,   413,   420,   428,   436,   443,   450,   459,   468,
-     472,   474,   476,   478,   480,   481,   483,   486,   487,   491,
-     492,   496,   500,   502,   506,   510,   511,   517,   518,   525,
-     526,   533,   536,   540,   542,   544,   546,   550,   554,   558,
-     562,   566,   570,   572,   573,   575,   577,   579,   580,   586,
-     590,   592,   596,   598,   599,   609,   611,   613,   617,   619,
-     621,   624,   627,   628,   630,   632,   634,   636,   638,   640,
-     642,   644,   646,   650,   652,   658,   660,   662,   664,   666,
-     669,   672,   675,   679,   682,   683,   685,   688,   691,   695,
-     705,   715,   724,   739,   741,   743,   750,   756,   759,   766,
-     774,   778,   784,   785,   786,   790,   793,   795,   801,   807,
-     814,   821,   824,   829,   834,   841,   846,   851,   858,   865,
-     868,   877,   879,   881,   882,   886,   893,   897,   904,   907,
-     912,   919
+     119,   122,   123,   125,   127,   129,   131,   133,   135,   137,
+     139,   140,   142,   144,   145,   147,   149,   151,   153,   154,
+     156,   158,   160,   162,   164,   166,   169,   171,   173,   174,
+     177,   179,   181,   182,   185,   186,   189,   190,   194,   197,
+     198,   200,   201,   205,   207,   210,   212,   214,   216,   218,
+     220,   222,   224,   227,   229,   232,   238,   244,   250,   256,
+     260,   263,   269,   274,   277,   279,   281,   283,   287,   289,
+     293,   295,   296,   298,   302,   307,   311,   315,   320,   325,
+     329,   336,   342,   345,   348,   351,   354,   357,   360,   363,
+     366,   369,   372,   379,   385,   394,   401,   408,   416,   424,
+     431,   438,   447,   456,   460,   462,   464,   466,   468,   469,
+     471,   474,   475,   479,   480,   484,   488,   490,   494,   498,
+     499,   505,   506,   513,   514,   521,   524,   528,   530,   532,
+     534,   538,   542,   546,   550,   554,   558,   560,   561,   563,
+     565,   567,   568,   574,   578,   580,   584,   586,   587,   597,
+     599,   601,   605,   607,   609,   612,   615,   616,   618,   620,
+     622,   624,   626,   628,   630,   632,   634,   638,   640,   646,
+     648,   650,   652,   654,   657,   660,   663,   667,   670,   671,
+     673,   676,   679,   683,   693,   703,   712,   727,   729,   731,
+     738,   744,   747,   754,   762,   766,   772,   773,   774,   778,
+     781,   783,   789,   795,   802,   809,   812,   817,   822,   829,
+     834,   839,   846,   853,   856,   865,   867,   869,   870,   874,
+     881,   885,   892,   895,   900,   907
 };
 
 /* YYRHS -- A `-1'-separated list of the rules' RHS. */
 static const short int yyrhs[] =
 {
-     187,     0,    -1,     5,    -1,     6,    -1,    74,    -1,    75,
-      -1,    76,    -1,    77,    -1,    78,    -1,    79,    -1,    80,
-      -1,    81,    -1,    82,    -1,    83,    -1,    84,    -1,    85,
-      -1,   114,    -1,   115,    -1,   116,    -1,   117,    -1,   118,
-      -1,   119,    -1,   120,    -1,   121,    -1,   122,    -1,   123,
-      -1,   124,    -1,   125,    -1,   128,    -1,   129,    -1,   130,
-      -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,   104,    -1,   105,    -1,   106,    -1,   107,
-      -1,    94,    -1,    95,    -1,    96,    -1,    97,    -1,    23,
-      -1,    24,    -1,    13,    -1,    12,    -1,    11,    -1,    10,
-      -1,    14,    -1,    15,    -1,   200,   136,    -1,    -1,    37,
-      -1,    39,    -1,    38,    -1,    40,    -1,    42,    -1,    41,
-      -1,    43,    -1,    46,    -1,    -1,    41,    -1,    43,    -1,
-      -1,    37,    -1,    38,    -1,    39,    -1,    42,    -1,    -1,
-      61,    -1,    62,    -1,    63,    -1,    64,    -1,    65,    -1,
-      66,    -1,    60,     4,    -1,   115,    -1,   116,    -1,    -1,
-     167,   166,    -1,   135,    -1,   166,    -1,    -1,   169,   168,
-      -1,    -1,    53,     4,    -1,    -1,   137,    53,     4,    -1,
-      31,    20,    -1,    -1,   172,    -1,    -1,   137,   175,   174,
-      -1,   172,    -1,    53,     4,    -1,     9,    -1,    10,    -1,
-      11,    -1,    12,    -1,    13,    -1,    14,    -1,    15,    -1,
-      16,    -1,    44,    -1,   176,    -1,   177,   138,    -1,   212,
-      -1,   139,     4,    -1,   177,   140,   181,   141,   169,    -1,
-       8,   140,   181,   141,   169,    -1,   142,     4,   143,   177,
-     144,    -1,   145,     4,   143,   177,   146,    -1,   147,   182,
-     148,    -1,   147,   148,    -1,   145,   147,   182,   148,   146,
-      -1,   145,   147,   148,   146,    -1,   177,   167,    -1,   177,
-      -1,     8,    -1,   178,    -1,   180,   137,   178,    -1,   180,
-      -1,   180,   137,    34,    -1,    34,    -1,    -1,   177,    -1,
-     182,   137,   177,    -1,   177,   142,   185,   144,    -1,   177,
-     142,   144,    -1,   177,   149,    20,    -1,   177,   145,   185,
-     146,    -1,   177,   147,   185,   148,    -1,   177,   147,   148,
-      -1,   177,   145,   147,   185,   148,   146,    -1,   177,   145,
-     147,   148,   146,    -1,   177,    35,    -1,   177,    36,    -1,
-     177,   212,    -1,   177,   184,    -1,   177,    22,    -1,   158,
-       3,    -1,   158,     4,    -1,     9,    23,    -1,     9,    24,
-      -1,   159,     7,    -1,   154,   140,   183,    33,   177,   141,
-      -1,   113,   140,   183,   223,   141,    -1,   127,   140,   183,
-     137,   183,   137,   183,   141,    -1,   152,   140,   183,   137,
-     183,   141,    -1,   153,   140,   183,   137,   183,   141,    -1,
-      86,   156,   140,   183,   137,   183,   141,    -1,    87,   157,
-     140,   183,   137,   183,   141,    -1,   155,   140,   183,   137,
-     183,   141,    -1,   132,   140,   183,   137,   183,   141,    -1,
-     133,   140,   183,   137,   183,   137,   183,   141,    -1,   134,
-     140,   183,   137,   183,   137,   183,   141,    -1,   185,   137,
-     183,    -1,   183,    -1,    29,    -1,    30,    -1,   188,    -1,
-      -1,   189,    -1,   188,   189,    -1,    -1,    28,   190,   208,
-      -1,    -1,    27,   191,   209,    -1,    58,    57,   195,    -1,
-      21,    -1,   160,    17,   177,    -1,   160,    17,     8,    -1,
-      -1,   160,   186,   183,   192,   174,    -1,    -1,   160,   161,
-     186,   183,   193,   174,    -1,    -1,   160,   162,   186,   177,
-     194,   174,    -1,    47,   197,    -1,    54,   136,   198,    -1,
-      20,    -1,    52,    -1,    51,    -1,    49,   136,   196,    -1,
-      50,   136,     4,    -1,    48,   136,    20,    -1,    67,   136,
-      20,    -1,   142,   199,   144,    -1,   199,   137,    20,    -1,
-      20,    -1,    -1,    18,    -1,    20,    -1,   200,    -1,    -1,
-     202,   137,   177,   167,   201,    -1,   177,   167,   201,    -1,
-     202,    -1,   202,   137,    34,    -1,    34,    -1,    -1,   165,
-     179,   200,   140,   203,   141,   169,   173,   170,    -1,    25,
-      -1,   147,    -1,   164,   204,   205,    -1,    26,    -1,   148,
-      -1,   215,   207,    -1,   163,   204,    -1,    -1,    59,    -1,
-       3,    -1,     4,    -1,     7,    -1,    23,    -1,    24,    -1,
-      35,    -1,    36,    -1,    22,    -1,   145,   185,   146,    -1,
-     184,    -1,    57,   210,    20,   137,    20,    -1,   151,    -1,
-     200,    -1,   212,    -1,   211,    -1,   177,   213,    -1,   215,
-     216,    -1,   206,   216,    -1,   217,   160,   218,    -1,   217,
-     220,    -1,    -1,    19,    -1,    68,   214,    -1,    68,     8,
-      -1,    69,    16,   213,    -1,    69,     9,   213,   137,    16,
-     213,   137,    16,   213,    -1,    70,   158,   213,   137,    16,
-     213,   142,   219,   144,    -1,    70,   158,   213,   137,    16,
-     213,   142,   144,    -1,    71,   165,   179,   213,   140,   222,
-     141,   169,    33,    16,   213,    72,    16,   213,    -1,    72,
-      -1,    73,    -1,   219,   158,   211,   137,    16,   213,    -1,
-     158,   211,   137,    16,   213,    -1,   160,   225,    -1,   177,
-     142,   213,   137,   213,   144,    -1,   221,   137,   142,   213,
-     137,   213,   144,    -1,   177,   213,   167,    -1,   222,   137,
-     177,   213,   167,    -1,    -1,    -1,   223,   137,   214,    -1,
-      56,    55,    -1,    55,    -1,   152,   177,   213,   137,   213,
-      -1,   153,   177,   213,   137,   213,    -1,    86,   156,   177,
-     213,   137,   213,    -1,    87,   157,   177,   213,   137,   213,
-      -1,    45,   214,    -1,   155,   214,   137,   214,    -1,   154,
-     214,    33,   177,    -1,   127,   214,   137,   214,   137,   214,
-      -1,   131,   214,   137,   177,    -1,   132,   214,   137,   214,
-      -1,   133,   214,   137,   214,   137,   214,    -1,   134,   214,
-     137,   214,   137,   214,    -1,   126,   221,    -1,   224,   165,
-     179,   213,   140,   222,   141,   169,    -1,   227,    -1,    32,
-      -1,    -1,   108,   177,   171,    -1,   108,   177,   137,    12,
-     213,   171,    -1,   109,   177,   171,    -1,   109,   177,   137,
-      12,   213,   171,    -1,   110,   214,    -1,   226,   111,   177,
-     213,    -1,   226,   112,   214,   137,   177,   213,    -1,   113,
-     177,   213,   223,    -1
+     184,     0,    -1,     5,    -1,     6,    -1,    71,    -1,    72,
+      -1,    73,    -1,    74,    -1,    75,    -1,    76,    -1,    77,
+      -1,    78,    -1,    79,    -1,    80,    -1,    81,    -1,    82,
+      -1,   111,    -1,   112,    -1,   113,    -1,   114,    -1,   115,
+      -1,   116,    -1,   117,    -1,   118,    -1,   119,    -1,   120,
+      -1,   121,    -1,   122,    -1,   125,    -1,   126,    -1,   127,
+      -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,   104,
+      -1,    91,    -1,    92,    -1,    93,    -1,    94,    -1,    20,
+      -1,    21,    -1,    10,    -1,    11,    -1,    12,    -1,   197,
+     133,    -1,    -1,    34,    -1,    36,    -1,    35,    -1,    37,
+      -1,    39,    -1,    38,    -1,    40,    -1,    43,    -1,    -1,
+      38,    -1,    40,    -1,    -1,    34,    -1,    35,    -1,    36,
+      -1,    39,    -1,    -1,    58,    -1,    59,    -1,    60,    -1,
+      61,    -1,    62,    -1,    63,    -1,    57,     4,    -1,   112,
+      -1,   113,    -1,    -1,   164,   163,    -1,   132,    -1,   163,
+      -1,    -1,   166,   165,    -1,    -1,    50,     4,    -1,    -1,
+     134,    50,     4,    -1,    28,    17,    -1,    -1,   169,    -1,
+      -1,   134,   172,   171,    -1,   169,    -1,    50,     4,    -1,
+       9,    -1,    10,    -1,    11,    -1,    12,    -1,    13,    -1,
+      41,    -1,   173,    -1,   174,   135,    -1,   209,    -1,   136,
+       4,    -1,   174,   137,   178,   138,   166,    -1,     8,   137,
+     178,   138,   166,    -1,   139,     4,   140,   174,   141,    -1,
+     142,     4,   140,   174,   143,    -1,   144,   179,   145,    -1,
+     144,   145,    -1,   142,   144,   179,   145,   143,    -1,   142,
+     144,   145,   143,    -1,   174,   164,    -1,   174,    -1,     8,
+      -1,   175,    -1,   177,   134,   175,    -1,   177,    -1,   177,
+     134,    31,    -1,    31,    -1,    -1,   174,    -1,   179,   134,
+     174,    -1,   174,   139,   182,   141,    -1,   174,   139,   141,
+      -1,   174,   146,    17,    -1,   174,   142,   182,   143,    -1,
+     174,   144,   182,   145,    -1,   174,   144,   145,    -1,   174,
+     142,   144,   182,   145,   143,    -1,   174,   142,   144,   145,
+     143,    -1,   174,    32,    -1,   174,    33,    -1,   174,   209,
+      -1,   174,   181,    -1,   174,    19,    -1,   155,     3,    -1,
+     155,     4,    -1,     9,    20,    -1,     9,    21,    -1,   156,
+       7,    -1,   151,   137,   180,    30,   174,   138,    -1,   110,
+     137,   180,   220,   138,    -1,   124,   137,   180,   134,   180,
+     134,   180,   138,    -1,   149,   137,   180,   134,   180,   138,
+      -1,   150,   137,   180,   134,   180,   138,    -1,    83,   153,
+     137,   180,   134,   180,   138,    -1,    84,   154,   137,   180,
+     134,   180,   138,    -1,   152,   137,   180,   134,   180,   138,
+      -1,   129,   137,   180,   134,   180,   138,    -1,   130,   137,
+     180,   134,   180,   134,   180,   138,    -1,   131,   137,   180,
+     134,   180,   134,   180,   138,    -1,   182,   134,   180,    -1,
+     180,    -1,    26,    -1,    27,    -1,   185,    -1,    -1,   186,
+      -1,   185,   186,    -1,    -1,    25,   187,   205,    -1,    -1,
+      24,   188,   206,    -1,    55,    54,   192,    -1,    18,    -1,
+     157,    14,   174,    -1,   157,    14,     8,    -1,    -1,   157,
+     183,   180,   189,   171,    -1,    -1,   157,   158,   183,   180,
+     190,   171,    -1,    -1,   157,   159,   183,   174,   191,   171,
+      -1,    44,   194,    -1,    51,   133,   195,    -1,    17,    -1,
+      49,    -1,    48,    -1,    46,   133,   193,    -1,    47,   133,
+       4,    -1,    45,   133,    17,    -1,    64,   133,    17,    -1,
+     139,   196,   141,    -1,   196,   134,    17,    -1,    17,    -1,
+      -1,    15,    -1,    17,    -1,   197,    -1,    -1,   199,   134,
+     174,   164,   198,    -1,   174,   164,   198,    -1,   199,    -1,
+     199,   134,    31,    -1,    31,    -1,    -1,   162,   176,   197,
+     137,   200,   138,   166,   170,   167,    -1,    22,    -1,   144,
+      -1,   161,   201,   202,    -1,    23,    -1,   145,    -1,   212,
+     204,    -1,   160,   201,    -1,    -1,    56,    -1,     3,    -1,
+       4,    -1,     7,    -1,    20,    -1,    21,    -1,    32,    -1,
+      33,    -1,    19,    -1,   142,   182,   143,    -1,   181,    -1,
+      54,   207,    17,   134,    17,    -1,   148,    -1,   197,    -1,
+     209,    -1,   208,    -1,   174,   210,    -1,   212,   213,    -1,
+     203,   213,    -1,   214,   157,   215,    -1,   214,   217,    -1,
+      -1,    16,    -1,    65,   211,    -1,    65,     8,    -1,    66,
+      13,   210,    -1,    66,     9,   210,   134,    13,   210,   134,
+      13,   210,    -1,    67,   155,   210,   134,    13,   210,   139,
+     216,   141,    -1,    67,   155,   210,   134,    13,   210,   139,
+     141,    -1,    68,   162,   176,   210,   137,   219,   138,   166,
+      30,    13,   210,    69,    13,   210,    -1,    69,    -1,    70,
+      -1,   216,   155,   208,   134,    13,   210,    -1,   155,   208,
+     134,    13,   210,    -1,   157,   222,    -1,   174,   139,   210,
+     134,   210,   141,    -1,   218,   134,   139,   210,   134,   210,
+     141,    -1,   174,   210,   164,    -1,   219,   134,   174,   210,
+     164,    -1,    -1,    -1,   220,   134,   211,    -1,    53,    52,
+      -1,    52,    -1,   149,   174,   210,   134,   210,    -1,   150,
+     174,   210,   134,   210,    -1,    83,   153,   174,   210,   134,
+     210,    -1,    84,   154,   174,   210,   134,   210,    -1,    42,
+     211,    -1,   152,   211,   134,   211,    -1,   151,   211,    30,
+     174,    -1,   124,   211,   134,   211,   134,   211,    -1,   128,
+     211,   134,   174,    -1,   129,   211,   134,   211,    -1,   130,
+     211,   134,   211,   134,   211,    -1,   131,   211,   134,   211,
+     134,   211,    -1,   123,   218,    -1,   221,   162,   176,   210,
+     137,   219,   138,   166,    -1,   224,    -1,    29,    -1,    -1,
+     105,   174,   168,    -1,   105,   174,   134,    10,   210,   168,
+      -1,   106,   174,   168,    -1,   106,   174,   134,    10,   210,
+     168,    -1,   107,   211,    -1,   223,   108,   174,   210,    -1,
+     223,   109,   211,   134,   174,   210,    -1,   110,   174,   210,
+     220,    -1
 };
 
 /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
@@ -1636,31 +1627,30 @@
     1032,  1032,  1033,  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,  1057,  1057,
-    1057,  1058,  1058,  1061,  1065,  1071,  1072,  1073,  1074,  1075,
-    1079,  1080,  1081,  1085,  1086,  1087,  1091,  1092,  1093,  1094,
-    1095,  1098,  1099,  1100,  1101,  1102,  1103,  1104,  1105,  1112,
-    1113,  1116,  1117,  1122,  1123,  1126,  1127,  1134,  1135,  1141,
-    1142,  1150,  1158,  1159,  1164,  1165,  1166,  1171,  1184,  1184,
-    1184,  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,  1886,  1895,  1895,  1903,
-    1903,  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,  2627,  2636,  2649,  2657,  2664,  2670,  2676,  2682,
-    2697,  2760,  2765,  2769,  2776,  2783,  2791,  2798,  2806,  2814,
-    2828,  2845
+    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,  1099,
+    1100,  1101,  1102,  1103,  1104,  1105,  1112,  1113,  1116,  1117,
+    1122,  1123,  1126,  1127,  1134,  1135,  1141,  1142,  1150,  1158,
+    1159,  1164,  1165,  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,
+    1886,  1895,  1895,  1903,  1903,  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,  2627,  2636,  2649,  2657,
+    2664,  2670,  2676,  2682,  2697,  2760,  2765,  2769,  2776,  2783,
+    2791,  2798,  2806,  2814,  2828,  2845
 };
 #endif
 
@@ -1670,43 +1660,43 @@
 static const char *const yytname[] =
 {
   "$end", "error", "$undefined", "ESINT64VAL", "EUINT64VAL", "SINTVAL",
-  "UINTVAL", "FPVAL", "VOID", "BOOL", "INT8", "INT16", "INT32", "INT64",
-  "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", "NOT", "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'", "$accept", "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", 0
+  "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", "NOT", "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'", "$accept", "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", 0
 };
 #endif
 
@@ -1728,44 +1718,43 @@
      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,   389,   390,    61,    44,    42,    92,
-      40,    41,    91,   120,    93,    60,    62,   123,   125,    99
+     385,   386,   387,    61,    44,    42,    92,    40,    41,    91,
+     120,    93,    60,    62,   123,   125,    99
 };
 # endif
 
 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
 static const unsigned char yyr1[] =
 {
-       0,   150,   151,   151,   152,   152,   152,   152,   152,   152,
-     152,   152,   152,   153,   153,   153,   154,   154,   154,   154,
-     154,   154,   154,   154,   154,   154,   154,   154,   155,   155,
-     155,   156,   156,   156,   156,   156,   156,   156,   156,   156,
-     156,   157,   157,   157,   157,   157,   157,   157,   157,   157,
-     157,   157,   157,   157,   157,   157,   157,   158,   158,   158,
-     158,   159,   159,   160,   160,   161,   161,   161,   161,   161,
-     162,   162,   162,   163,   163,   163,   164,   164,   164,   164,
-     164,   165,   165,   165,   165,   165,   165,   165,   165,   166,
-     166,   167,   167,   168,   168,   169,   169,   170,   170,   171,
-     171,   172,   173,   173,   174,   174,   175,   175,   176,   176,
-     176,   176,   176,   176,   176,   176,   177,   177,   177,   177,
-     177,   177,   177,   177,   177,   177,   177,   177,   177,   178,
-     179,   179,   180,   180,   181,   181,   181,   181,   182,   182,
-     183,   183,   183,   183,   183,   183,   183,   183,   183,   183,
-     183,   183,   183,   183,   183,   183,   183,   183,   184,   184,
-     184,   184,   184,   184,   184,   184,   184,   184,   184,   185,
-     185,   186,   186,   187,   187,   188,   188,   190,   189,   191,
-     189,   189,   189,   189,   189,   192,   189,   193,   189,   194,
-     189,   189,   189,   195,   196,   196,   197,   197,   197,   197,
-     198,   199,   199,   199,   200,   200,   201,   201,   202,   202,
-     203,   203,   203,   203,   204,   205,   205,   206,   207,   207,
-     208,   209,   210,   210,   211,   211,   211,   211,   211,   211,
-     211,   211,   211,   211,   211,   212,   212,   213,   213,   214,
-     215,   215,   216,   217,   217,   217,   218,   218,   218,   218,
-     218,   218,   218,   218,   218,   219,   219,   220,   221,   221,
-     222,   222,   222,   223,   223,   224,   224,   225,   225,   225,
-     225,   225,   225,   225,   225,   225,   225,   225,   225,   225,
-     225,   225,   226,   226,   227,   227,   227,   227,   227,   227,
-     227,   227
+       0,   147,   148,   148,   149,   149,   149,   149,   149,   149,
+     149,   149,   149,   150,   150,   150,   151,   151,   151,   151,
+     151,   151,   151,   151,   151,   151,   151,   151,   152,   152,
+     152,   153,   153,   153,   153,   153,   153,   153,   153,   153,
+     153,   154,   154,   154,   154,   154,   154,   154,   154,   154,
+     154,   154,   154,   154,   154,   154,   154,   155,   156,   156,
+     157,   157,   158,   158,   158,   158,   158,   159,   159,   159,
+     160,   160,   160,   161,   161,   161,   161,   161,   162,   162,
+     162,   162,   162,   162,   162,   162,   163,   163,   164,   164,
+     165,   165,   166,   166,   167,   167,   168,   168,   169,   170,
+     170,   171,   171,   172,   172,   173,   173,   173,   173,   173,
+     174,   174,   174,   174,   174,   174,   174,   174,   174,   174,
+     174,   174,   174,   175,   176,   176,   177,   177,   178,   178,
+     178,   178,   179,   179,   180,   180,   180,   180,   180,   180,
+     180,   180,   180,   180,   180,   180,   180,   180,   180,   180,
+     180,   180,   181,   181,   181,   181,   181,   181,   181,   181,
+     181,   181,   181,   182,   182,   183,   183,   184,   184,   185,
+     185,   187,   186,   188,   186,   186,   186,   186,   186,   189,
+     186,   190,   186,   191,   186,   186,   186,   192,   193,   193,
+     194,   194,   194,   194,   195,   196,   196,   196,   197,   197,
+     198,   198,   199,   199,   200,   200,   200,   200,   201,   202,
+     202,   203,   204,   204,   205,   206,   207,   207,   208,   208,
+     208,   208,   208,   208,   208,   208,   208,   208,   208,   209,
+     209,   210,   210,   211,   212,   212,   213,   214,   214,   214,
+     215,   215,   215,   215,   215,   215,   215,   215,   215,   216,
+     216,   217,   218,   218,   219,   219,   219,   220,   220,   221,
+     221,   222,   222,   222,   222,   222,   222,   222,   222,   222,
+     222,   222,   222,   222,   222,   222,   223,   223,   224,   224,
+     224,   224,   224,   224,   224,   224
 };
 
 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
@@ -1777,30 +1766,29 @@
        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,     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,     2,     4,     4,     6,     4,     4,     6,     6,     2,
-       8,     1,     1,     0,     3,     6,     3,     6,     2,     4,
-       6,     4
+       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,     2,     4,     4,     6,     4,
+       4,     6,     6,     2,     8,     1,     1,     0,     3,     6,
+       3,     6,     2,     4,     6,     4
 };
 
 /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
@@ -1808,550 +1796,533 @@
    means the default is an error.  */
 static const unsigned short int yydefact[] =
 {
-      64,   204,   205,   182,   179,   177,     0,     0,     0,     0,
-       0,    64,   175,     0,    73,    76,     0,     0,     0,     0,
-     191,     0,     0,     0,   171,   172,    65,    67,    66,    68,
-      70,    69,    71,    72,     0,     0,     0,     1,   176,    63,
-      74,    75,    81,   180,    77,    78,    79,    80,    81,   244,
-     178,   244,     0,     0,     0,     0,   203,   192,   193,   181,
-       2,     3,   184,   108,   109,   110,   111,   112,   113,   114,
-     115,   116,     0,     0,     0,     0,   235,   117,   183,   236,
-     119,     0,     0,     0,   108,   109,   110,   111,   112,   113,
-     114,     0,     0,     0,   185,     0,    82,    83,    84,    85,
-      86,    87,     0,   221,     0,   245,   241,    64,   218,   219,
-     220,   240,   198,   195,   194,   196,   197,   199,   202,     0,
-     137,   120,     0,     0,     0,   126,   138,     0,   118,   137,
-     187,   189,   155,   156,   153,   154,   157,   152,   148,   149,
-       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,   151,   150,   104,    88,   131,   130,     0,   215,
-     216,   217,   283,   243,     0,   200,   136,    91,   132,   134,
-       0,     0,     0,     0,     0,     0,   125,     0,   104,   104,
-      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,   141,   170,     0,     0,     0,   145,     0,
-     142,     0,     0,     0,     0,     0,   186,     0,   282,     0,
-     266,     0,     0,     0,     0,    81,   253,   254,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,   242,    81,   257,     0,   281,   201,
-     129,     0,    95,     0,     0,   128,     0,   139,    95,   188,
-     190,     0,     0,   263,     0,     0,     0,     0,     0,   140,
-     126,   138,     0,   143,   144,     0,     0,     0,     0,     0,
-       0,   106,   104,   213,     0,   271,   265,   247,   246,     0,
-       0,    60,    59,    58,    57,     0,     0,     0,     0,    99,
-      99,   288,     0,     0,   279,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,    89,    90,    92,
-     135,   133,   122,   123,   124,   127,   121,     0,     0,     0,
-       0,     0,     0,     0,   169,   147,     0,     0,     0,     0,
-       0,   101,   107,   105,   212,    91,   210,     0,   224,   225,
-     226,   231,   227,   228,   229,   230,   222,     0,   233,   238,
-     237,   239,     0,   248,     0,     0,     0,     0,     0,   284,
-       0,   286,   263,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,    93,    94,    96,
-       0,     0,     0,   159,     0,     0,     0,     0,   146,     0,
-       0,     0,     0,   207,     0,    95,   223,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,   291,     0,     0,
-       0,   275,   276,     0,     0,     0,     0,   273,   272,     0,
-     289,     0,     0,     0,   264,     0,   166,     0,     0,   161,
-     162,   158,   165,   206,   209,   211,    91,   102,     0,   232,
-       0,     0,   262,     0,     0,    99,   100,    99,     0,     0,
-       0,     0,     0,   267,   268,   262,     0,   163,   164,     0,
-       0,     0,   207,   103,    97,     0,     0,     0,     0,     0,
-     269,   270,     0,   285,   287,     0,     0,   274,   277,   278,
-       0,   290,   160,   167,   168,   208,     0,   214,   234,     0,
-       0,    91,     0,    95,   258,     0,    95,    98,     0,   251,
-       0,     0,   260,     0,     0,   259,   280,   249,     0,   250,
-       0,    91,     0,     0,     0,   261,     0,     0,     0,     0,
-     256,     0,     0,   255,     0,   252
+      61,   198,   199,   176,   173,   171,     0,     0,     0,     0,
+       0,    61,   169,     0,    70,    73,     0,     0,     0,     0,
+     185,     0,     0,     0,   165,   166,    62,    64,    63,    65,
+      67,    66,    68,    69,     0,     0,     0,     1,   170,    60,
+      71,    72,    78,   174,    74,    75,    76,    77,    78,   238,
+     172,   238,     0,     0,     0,     0,   197,   186,   187,   175,
+       2,     3,   178,   105,   106,   107,   108,   109,   110,     0,
+       0,     0,     0,   229,   111,   177,   230,   113,     0,     0,
+       0,   105,   106,   107,   108,     0,     0,     0,   179,     0,
+      79,    80,    81,    82,    83,    84,     0,   215,     0,   239,
+     235,    61,   212,   213,   214,   234,   192,   189,   188,   190,
+     191,   193,   196,     0,   131,   114,     0,     0,     0,   120,
+     132,     0,   112,   131,   181,   183,   149,   150,   147,   148,
+     151,   146,   142,   143,     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,   145,   144,   101,    85,
+     125,   124,     0,   209,   210,   211,   277,   237,     0,   194,
+     130,    88,   126,   128,     0,     0,     0,     0,     0,     0,
+     119,     0,   101,   101,    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,   135,   164,     0,
+       0,     0,   139,     0,   136,     0,     0,     0,     0,     0,
+     180,     0,   276,     0,   260,     0,     0,     0,     0,    78,
+     247,   248,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,   236,    78,
+     251,     0,   275,   195,   123,     0,    92,     0,     0,   122,
+       0,   133,    92,   182,   184,     0,     0,   257,     0,     0,
+       0,     0,     0,   134,   120,   132,     0,   137,   138,     0,
+       0,     0,     0,     0,     0,   103,   101,   207,     0,   265,
+     259,   241,   240,     0,     0,    57,     0,     0,     0,     0,
+      96,    96,   282,     0,     0,   273,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,    86,    87,
+      89,   129,   127,   116,   117,   118,   121,   115,     0,     0,
+       0,     0,     0,     0,     0,   163,   141,     0,     0,     0,
+       0,     0,    98,   104,   102,   206,    88,   204,     0,   218,
+     219,   220,   225,   221,   222,   223,   224,   216,     0,   227,
+     232,   231,   233,     0,   242,     0,     0,     0,     0,     0,
+     278,     0,   280,   257,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,    90,    91,
+      93,     0,     0,     0,   153,     0,     0,     0,     0,   140,
+       0,     0,     0,     0,   201,     0,    92,   217,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,   285,     0,
+       0,     0,   269,   270,     0,     0,     0,     0,   267,   266,
+       0,   283,     0,     0,     0,   258,     0,   160,     0,     0,
+     155,   156,   152,   159,   200,   203,   205,    88,    99,     0,
+     226,     0,     0,   256,     0,     0,    96,    97,    96,     0,
+       0,     0,     0,     0,   261,   262,   256,     0,   157,   158,
+       0,     0,     0,   201,   100,    94,     0,     0,     0,     0,
+       0,   263,   264,     0,   279,   281,     0,     0,   268,   271,
+     272,     0,   284,   154,   161,   162,   202,     0,   208,   228,
+       0,     0,    88,     0,    92,   252,     0,    92,    95,     0,
+     245,     0,     0,   254,     0,     0,   253,   274,   243,     0,
+     244,     0,    88,     0,     0,     0,   255,     0,     0,     0,
+       0,   250,     0,     0,   249,     0,   246
 };
 
 /* YYDEFGOTO[NTERM-NUM]. */
 static const short int yydefgoto[] =
 {
-      -1,    76,   178,   179,   180,   181,   220,   237,    91,    92,
-       9,    34,    35,    42,    48,   102,   359,   290,   429,   362,
-     537,   409,   321,   514,   256,   322,    77,    93,   198,   188,
-     199,   200,   127,   244,   398,   245,    36,    10,    11,    12,
-      15,    14,   184,   208,   209,    59,   115,    20,    57,   119,
-      79,   484,   386,   387,   103,   191,    49,   110,    50,    43,
-     447,   399,    80,   401,   325,    51,   106,   107,   284,   551,
-     193,   344,   519,   369,   285,   286,   287,   288
+      -1,    73,   172,   173,   174,   175,   214,   231,    85,    86,
+       9,    34,    35,    42,    48,    96,   350,   284,   420,   353,
+     528,   400,   315,   505,   250,   316,    74,    87,   192,   182,
+     193,   194,   121,   238,   389,   239,    36,    10,    11,    12,
+      15,    14,   178,   202,   203,    59,   109,    20,    57,   113,
+      76,   475,   377,   378,    97,   185,    49,   104,    50,    43,
+     438,   390,    77,   392,   319,    51,   100,   101,   278,   542,
+     187,   335,   510,   360,   279,   280,   281,   282
 };
 
 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
    STATE-NUM.  */
-#define YYPACT_NINF -457
+#define YYPACT_NINF -509
 static const short int yypact[] =
 {
-      49,  -457,  -457,  -457,  -457,  -457,     8,  -107,    -9,   255,
-      61,   188,  -457,    -7,   113,   165,    33,    38,    51,    69,
-    -457,    17,    95,  1056,  -457,  -457,  -457,  -457,  -457,  -457,
-    -457,  -457,  -457,  -457,    91,    91,  1290,  -457,  -457,  -457,
-    -457,  -457,   130,  -457,  -457,  -457,  -457,  -457,   130,   116,
-    -457,    25,   192,    98,   265,   198,   201,  -457,  -457,  -457,
-    -457,  -457,   131,  -457,  -457,  -457,  -457,  -457,  -457,  -457,
-    -457,  -457,   270,   273,     5,   128,  -457,  -457,    73,  -457,
-    -457,  1290,  1310,   131,   217,   234,   259,   262,   276,   281,
-     292,   278,   297,   623,  -457,   279,  -457,  -457,  -457,  -457,
-    -457,  -457,  1327,  -457,    -2,  -457,  -457,   214,  -457,  -457,
-    -457,  -457,  -457,  -457,  -457,  -457,  -457,  -457,  -457,  -120,
-     809,  -457,   162,   163,   710,  -457,    73,   -84,  -457,   809,
-    -457,    73,  -457,  -457,  -457,  -457,  -457,  -457,  -457,  -457,
-    -457,  -457,  -457,  -457,  -457,  -457,  -457,  -457,  -457,  -457,
-    -457,  -457,   269,  1007,   167,  -457,  -457,  -457,  -457,  -457,
-    -457,  -457,  -457,  -457,  -457,  -457,  -457,   168,  -457,  -457,
-    -457,   169,   171,   172,    75,  1347,   768,   296,   177,   178,
-     179,   180,  -457,  -457,   184,  -457,   131,    73,   214,  -457,
-    -457,  -457,  1450,  -457,   302,  -457,  -457,    73,  -457,   189,
-     183,  1310,  1310,   181,   -83,  1310,  -457,   194,   184,   184,
-    -457,  -457,  -457,  -457,  -457,  -457,  -457,  -457,  -457,  -457,
-     185,  -457,  -457,  -457,  -457,  -457,  -457,  -457,  -457,  -457,
-    -457,  -457,  -457,  -457,  -457,  -457,  -457,   190,  1290,  1290,
-    1290,  1290,  1290,  -457,  -457,   -27,   784,   -32,  -457,   -77,
-    -457,  1290,  1290,  1290,  1290,   -21,  -457,   196,  -457,  1310,
-    -457,   282,  1370,   114,   216,   130,  -457,  -457,   269,  1007,
-    1310,  1310,  1310,  1310,  1310,  1310,  1310,  1310,  1310,  1310,
-    1310,  1310,  1310,  1310,  -457,   130,  -457,   175,  -457,  -457,
-     187,   952,  -457,    13,   -22,  -457,   193,    73,  -457,  -457,
-    -457,  1290,  1290,  -457,   203,   205,   206,   207,  1290,  -457,
-     199,   623,   -75,  -457,  -457,   209,   210,   305,   211,   331,
-     348,  -457,   184,  1227,   860,  -457,  -457,   131,  -457,  1003,
-    1003,  -457,  -457,  -457,  -457,  1003,  1327,  1310,  1310,    60,
-      93,  -457,   860,   -40,   218,   235,   236,   237,   238,   239,
-     860,   860,   320,   240,  1327,  1310,  1310,  -457,  -457,  -457,
-    -457,  -457,   -69,  -457,  -457,  -457,   -69,   241,   242,   -59,
-    1290,  1290,  1290,  1290,  -457,  -457,   208,  1290,  1290,  1310,
-    1290,  -457,  -457,  -457,  -457,    73,   247,   244,  -457,  -457,
-    -457,  -457,  -457,  -457,  -457,  -457,   327,  1290,  -457,  -457,
-    -457,  -457,   250,  -457,   251,  1003,   860,   860,     2,  -457,
-      19,  -457,  -457,  1003,   248,  1310,  1310,  1310,  1310,  1310,
-     252,   254,  1310,  1310,  1003,   860,   260,  -457,  -457,  -457,
-    1290,  1290,  1310,  -457,   261,   266,   264,   271,  -457,   272,
-     274,    45,   275,    10,  1273,  -457,  -457,   382,   -24,   387,
-     394,   277,   283,   285,  1003,   407,  1003,   288,   289,  1003,
-     290,    73,  -457,   291,   295,  1003,  1003,    73,  -457,   293,
-    -457,  1310,   294,   298,  -457,  1290,  -457,  1290,  1290,  -457,
-    -457,  -457,  -457,  -457,  -457,  -457,    73,    -4,   299,  -457,
-    1003,  1003,  1310,  1003,  1003,   301,  -457,   301,  1003,   303,
-    1310,  1310,  1310,  -457,  -457,  1310,   860,  -457,  -457,   300,
-     304,   306,    10,  -457,   361,   398,   309,   287,   860,    39,
-    -457,  -457,   366,  -457,  -457,   308,  1003,  -457,  -457,  -457,
-      40,  -457,  -457,  -457,  -457,  -457,   430,  -457,  -457,   426,
-      23,  -457,  1310,  -457,  -457,   310,  -457,  -457,  1003,  -457,
-    1135,    27,   187,   860,    12,  -457,   -69,  -457,   312,  -457,
-    1135,  -457,   427,   441,   322,   187,  1003,  1003,   444,   389,
-    -457,  1003,   446,  -457,  1003,  -457
+      54,  -509,  -509,  -509,  -509,  -509,    -7,   -83,    53,   273,
+      87,    68,  -509,    -5,    44,   103,    18,    31,    37,    49,
+    -509,    22,   124,   353,  -509,  -509,  -509,  -509,  -509,  -509,
+    -509,  -509,  -509,  -509,   174,   174,  1146,  -509,  -509,  -509,
+    -509,  -509,   177,  -509,  -509,  -509,  -509,  -509,   177,   151,
+    -509,     8,   239,   157,   253,   242,   243,  -509,  -509,  -509,
+    -509,  -509,   126,  -509,  -509,  -509,  -509,  -509,  -509,   257,
+     260,     0,    10,  -509,  -509,    59,  -509,  -509,  1146,  1251,
+     126,   193,   212,   258,   259,   215,   261,   599,  -509,   263,
+    -509,  -509,  -509,  -509,  -509,  -509,  1288,  -509,     6,  -509,
+    -509,   130,  -509,  -509,  -509,  -509,  -509,  -509,  -509,  -509,
+    -509,  -509,  -509,   -60,   781,  -509,   129,   132,   681,  -509,
+      59,   -46,  -509,   781,  -509,    59,  -509,  -509,  -509,  -509,
+    -509,  -509,  -509,  -509,  -509,  -509,  -509,  -509,  -509,  -509,
+    -509,  -509,  -509,  -509,  -509,  -509,    99,   383,   136,  -509,
+    -509,  -509,  -509,  -509,  -509,  -509,  -509,  -509,  -509,  -509,
+    -509,   137,  -509,  -509,  -509,   139,   141,   142,   921,  1301,
+     741,   266,   147,   148,   152,   153,  -509,  -509,   154,  -509,
+     126,    59,   130,  -509,  -509,  -509,  1381,  -509,   274,  -509,
+    -509,    59,  -509,   158,   155,  1251,  1251,   159,   -44,  1251,
+    -509,   160,   154,   154,  -509,  -509,  -509,  -509,  -509,  -509,
+    -509,  -509,  -509,  -509,   164,  -509,  -509,  -509,  -509,  -509,
+    -509,  -509,  -509,  -509,  -509,  -509,  -509,  -509,  -509,  -509,
+    -509,   166,  1146,  1146,  1146,  1146,  1146,  -509,  -509,   -21,
+     754,   -54,  -509,   -37,  -509,  1146,  1146,  1146,  1146,    13,
+    -509,   178,  -509,  1251,  -509,   244,  1338,    33,   285,   177,
+    -509,  -509,    99,   383,  1251,  1251,  1251,  1251,  1251,  1251,
+    1251,  1251,  1251,  1251,  1251,  1251,  1251,  1251,  -509,   177,
+    -509,   118,  -509,  -509,   116,   999,  -509,    -8,   -19,  -509,
+     175,    59,  -509,  -509,  -509,  1146,  1146,  -509,   163,   183,
+     185,   186,  1146,  -509,   182,   599,   -28,  -509,  -509,   187,
+     192,   298,   195,   313,   327,  -509,   154,  1191,   830,  -509,
+    -509,   126,  -509,   970,   970,  -509,   970,  1288,  1251,  1251,
+      34,    40,  -509,   830,    21,   200,   206,   207,   211,   214,
+     218,   830,   830,   319,   219,  1288,  1251,  1251,  -509,  -509,
+    -509,  -509,  -509,   -65,  -509,  -509,  -509,   -65,   220,   221,
+     -13,  1146,  1146,  1146,  1146,  -509,  -509,   213,  1146,  1146,
+    1251,  1146,  -509,  -509,  -509,  -509,    59,   223,   222,  -509,
+    -509,  -509,  -509,  -509,  -509,  -509,  -509,   311,  1146,  -509,
+    -509,  -509,  -509,   235,  -509,   237,   970,   830,   830,    25,
+    -509,    27,  -509,  -509,   970,   233,  1251,  1251,  1251,  1251,
+    1251,   240,   241,  1251,  1251,   970,   830,   245,  -509,  -509,
+    -509,  1146,  1146,  1251,  -509,   246,   238,   247,   248,  -509,
+     250,   251,    43,   254,    19,  1234,  -509,  -509,   356,   -40,
+     364,   365,   256,   264,   265,   970,   391,   970,   267,   268,
+     970,   275,    59,  -509,   276,   277,   970,   970,    59,  -509,
+     271,  -509,  1251,   278,   279,  -509,  1146,  -509,  1146,  1146,
+    -509,  -509,  -509,  -509,  -509,  -509,  -509,    59,    -2,   280,
+    -509,   970,   970,  1251,   970,   970,   281,  -509,   281,   970,
+     284,  1251,  1251,  1251,  -509,  -509,  1251,   830,  -509,  -509,
+     282,   283,   288,    19,  -509,   369,   405,   289,   290,   830,
+     -12,  -509,  -509,   381,  -509,  -509,   291,   970,  -509,  -509,
+    -509,    28,  -509,  -509,  -509,  -509,  -509,   429,  -509,  -509,
+     421,    -1,  -509,  1251,  -509,  -509,   295,  -509,  -509,   970,
+    -509,  1099,     7,   116,   830,     2,  -509,   -65,  -509,   304,
+    -509,  1099,  -509,   427,   434,   308,   116,   970,   970,   435,
+     380,  -509,   970,   437,  -509,   970,  -509
 };
 
 /* YYPGOTO[NTERM-NUM].  */
 static const short int yypgoto[] =
 {
-    -457,  -457,   284,   311,   316,   318,   200,   197,  -262,  -457,
-     360,  -457,  -457,  -457,  -457,  -222,  -355,  -377,  -457,  -282,
-    -457,  -327,   -17,  -457,  -167,  -457,  -457,   -23,   182,  -286,
-    -457,   345,   351,   129,   -87,  -172,   256,  -457,  -457,   469,
-    -457,  -457,  -457,  -457,  -457,  -457,  -457,  -457,  -457,  -457,
-       1,   -31,  -457,  -457,   435,  -457,  -457,  -457,  -457,  -457,
-    -457,  -456,    -1,   121,  -257,  -457,   433,  -457,  -457,  -457,
-    -457,  -457,   -20,    74,  -457,  -457,  -457,  -457
+    -509,  -509,   269,   272,   286,   302,   189,   190,  -256,  -509,
+     351,  -509,  -509,  -509,  -509,  -215,  -343,  -373,  -509,  -279,
+    -509,  -323,   -17,  -509,  -173,  -509,  -509,   -23,   172,  -275,
+    -509,   339,   345,   -25,   -80,  -164,   197,  -509,  -509,   453,
+    -509,  -509,  -509,  -509,  -509,  -509,  -509,  -509,  -509,  -509,
+       1,   -36,  -509,  -509,   423,  -509,  -509,  -509,  -509,  -509,
+    -509,  -508,     9,   104,  -211,  -509,   445,  -509,  -509,  -509,
+    -509,  -509,     3,   100,  -509,  -509,  -509,  -509
 };
 
 /* 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 -175
+#define YYTABLE_NINF -169
 static const short int yytable[] =
 {
-      78,    13,   335,   247,   249,   328,   182,   428,   443,   123,
-     319,   428,    13,   411,   454,   341,   366,   194,   345,   346,
-     347,   348,   349,   189,   195,   352,   353,   319,     1,    21,
-       2,   456,   320,   331,   332,   333,   334,   331,   332,   333,
-     334,   299,   300,   336,   105,   562,   357,   358,    22,  -174,
-     405,   108,   126,   205,   205,   455,    16,    17,    18,   131,
-     308,    37,   308,   354,   206,   296,   427,     1,   424,     2,
-       3,   314,   455,   376,   312,    19,     4,     5,   432,   187,
-      60,    61,   433,    83,    84,    85,    86,    87,    88,    89,
-      90,    70,   183,     1,   558,     2,     6,   197,   128,   426,
-     129,   126,   413,     7,   564,   308,   197,     8,    13,   512,
-     308,   357,   358,   308,   313,    58,   128,   309,   129,    71,
-      24,    25,   489,   329,   364,   357,   358,   357,   358,    39,
-     330,   427,   428,    60,    61,   105,    83,    63,    64,    65,
-      66,    67,    68,    69,    70,   190,     1,   427,     2,   113,
-     114,   128,   124,   129,    40,   383,    41,   363,   460,    56,
-     462,   463,   464,   487,   552,    94,   468,   549,   523,    52,
-     524,   559,    71,   109,    53,   474,   542,   542,   293,   294,
-     543,   546,   297,   128,   565,   129,   481,    54,  -173,   257,
-      95,    96,    97,    98,    99,   100,   101,   408,   128,   428,
-     129,   428,    44,    45,    46,    55,     1,    47,     2,     3,
-     130,   128,   112,   129,    72,     4,     5,    73,   117,   243,
-      74,   118,    75,   311,   182,   448,   331,   332,   333,   334,
-     410,   128,     1,   129,     2,     6,   324,   -60,   -60,   324,
-     132,   133,     7,   527,   528,   529,     8,   339,   340,   324,
-     342,   343,   324,   324,   324,   324,   324,   350,   351,   324,
-     324,   554,   -59,   -59,   556,   -58,   -58,    72,   197,   116,
-      73,   120,    23,    74,   121,    75,   125,   122,   550,   -57,
-     -57,   134,   135,   185,    24,    25,   355,   356,   -61,   560,
-      81,    82,    26,    27,    28,    29,    30,    31,    32,   -62,
-     385,    33,   357,   358,   136,   201,   202,   238,   239,   240,
-     183,   241,   242,   187,   406,   407,   250,   251,   252,   253,
-     254,   255,   289,   400,   292,   301,   291,   295,   400,   400,
-     302,   187,   425,   324,   400,   298,   323,   326,   379,   365,
-     370,   400,   371,   372,   373,   375,   377,   378,   380,   400,
-     400,   381,   382,   422,   438,   414,   441,   210,   211,   212,
-     213,   214,   215,   216,   217,   218,   219,   303,   304,   305,
-     306,   307,   415,   416,   417,   418,   419,   423,   430,   431,
-     315,   316,   317,   318,   444,   445,   446,   449,   450,   465,
-     459,   466,   324,   461,   324,   324,   324,   471,   475,   467,
-     324,   477,   488,   490,   400,   400,   400,   476,   478,   324,
-     491,   496,   400,   479,   536,   480,   482,   492,   538,   455,
-     493,   486,   494,   400,   400,   432,   498,   500,   501,   540,
-     367,   368,   502,   505,   547,   507,   515,   374,   522,   508,
-     526,   532,   548,   566,   483,   533,   539,   534,   506,   563,
-     402,   403,   544,   400,   555,   400,   404,   567,   400,   568,
-     571,   572,   574,   412,   400,   400,   338,   192,   337,   518,
-     513,   420,   421,   361,   207,   204,   280,   324,   324,   324,
-      38,   535,   518,   104,   111,   530,   457,     0,     0,   400,
-     400,     0,   400,   400,     0,     0,     0,   400,     0,   434,
-     435,   436,   437,   281,     0,   400,   439,   440,   282,   442,
-     283,     0,     0,   483,     0,     0,     0,   400,     0,   553,
-       0,     0,     0,     0,     0,   400,   451,   452,   453,     0,
-       0,     0,     0,     0,   458,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,   469,   470,   400,     0,     0,
-       0,     0,   400,     0,     0,     0,     0,     0,     0,   472,
-     473,     0,     0,     0,     0,   400,   400,     0,     0,     0,
-     400,     0,     0,   400,     0,   495,     0,   497,     0,     0,
-     499,     0,     0,     0,     0,     0,   503,   504,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,   509,     0,   510,   511,     0,     0,
-       0,   516,   517,     0,   520,   521,     0,     0,     0,   525,
-       0,     0,     0,     0,     0,     0,     0,   531,    60,    61,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,   541,
-       0,     1,     0,     2,     0,   137,     0,   545,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   138,   139,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,   557,
-       0,     0,     0,     0,   561,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,   569,   570,     0,
-       0,     0,   573,     0,     0,   575,     0,   140,   141,   142,
-     143,   144,   145,   146,   147,   148,   149,   150,   151,   152,
-     153,     0,     0,     0,     0,    60,    61,     0,    83,    63,
-      64,    65,    66,    67,    68,    69,    70,     0,     1,     0,
-       2,     0,     0,     0,     0,     0,   154,   155,   156,   157,
-     158,   159,   160,   161,   162,   163,   164,   165,   166,     0,
-     167,   168,   169,   170,    71,   171,   172,   173,     0,     0,
-       0,   128,     0,   129,     0,   174,     0,     0,   175,     0,
-     176,     0,   177,    60,    61,     0,    83,    84,    85,    86,
-      87,    88,    89,    90,    70,     0,     1,     0,     2,    60,
-      61,     0,    83,    84,    85,    86,    87,    88,    89,    90,
-      70,     0,     1,     0,     2,     0,     0,     0,     0,     0,
-       0,     0,    71,     0,    60,    61,     0,    83,    63,    64,
-      65,    66,    67,    68,    69,    70,     0,     1,    71,     2,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,   196,     0,     0,     0,     0,     0,    72,
-       0,     0,    73,    71,     0,    74,     0,    75,   203,     0,
-       0,     0,     0,   388,   389,    60,    61,   390,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     1,     0,
-       2,     0,   391,   392,   393,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,   394,   395,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,    72,     0,     0,
-      73,     0,     0,    74,     0,    75,   248,   396,     0,     0,
-       0,     0,     0,    72,     0,     0,    73,     0,     0,    74,
-       0,    75,   310,     0,   140,   141,   142,   143,   144,   145,
-     146,   147,   148,   149,   150,   151,   152,   153,    72,     0,
-       0,    73,     0,     0,    74,     0,    75,    60,    61,     0,
-      83,    63,    64,    65,    66,    67,    68,    69,    70,     0,
-       1,     0,     2,   154,   155,   156,   157,   158,   159,   160,
-     161,   162,   163,   164,   165,   166,   360,   167,   168,   169,
-     170,     0,   171,   172,   173,     0,    71,     0,   128,     0,
-     129,     0,     0,     0,     0,   397,   388,   389,    60,    61,
-     390,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     1,     0,     2,     0,   391,   392,   393,     0,     0,
-     221,   222,     0,     0,     0,     0,     0,     0,   394,   395,
+      75,    13,   326,   434,   117,   241,   243,   176,   402,   325,
+     419,    88,    13,   357,   419,    60,    61,   325,    80,    63,
+      64,    65,    66,    67,    99,     1,   313,     2,   183,   293,
+     294,   102,   553,   549,     1,   445,     2,   447,    16,    17,
+      18,   313,   323,   555,   327,   322,   324,   348,   349,   120,
+      21,    68,   396,   124,  -168,   332,   125,    19,   336,   337,
+     338,   339,   340,   314,   345,   343,   344,   418,  -167,     1,
+     415,     2,     3,   181,   188,   446,   306,   446,     4,     5,
+     302,   189,    40,     1,    41,     2,     3,    37,   199,   307,
+     199,   191,     4,     5,   302,   120,   177,   302,     6,   200,
+     191,   290,    13,   480,   503,     7,   302,    22,   308,     8,
+     348,   349,     6,   302,   348,   349,   122,   367,   123,     7,
+     303,   423,   533,     8,   355,   424,   534,   122,    39,   123,
+     418,   348,   349,   354,   418,   419,   417,    44,    45,    46,
+     540,    58,    47,   374,   118,     1,    69,     2,   550,    70,
+     184,    52,    71,   103,    72,   119,   122,   478,   123,   543,
+     404,    56,   533,   514,    53,   515,   537,    99,   399,   122,
+      54,   123,   287,   288,   401,   122,   291,   123,   122,   556,
+     123,   472,    55,   251,   204,   205,   206,   207,   208,   209,
+     210,   211,   212,   213,   122,   451,   123,   453,   454,   455,
+      24,    25,   419,   459,   419,   107,   108,   297,   298,   299,
+     300,   301,   465,   126,   127,   -57,   -57,   305,   128,   129,
+     309,   310,   311,   312,   439,   176,   346,   347,   348,   349,
+     318,    78,    79,   318,    89,    90,    91,    92,    93,    94,
+      95,   330,   331,   318,   333,   334,   318,   318,   318,   318,
+     318,   341,   342,   318,   318,   545,   106,   110,   547,   111,
+     112,   115,   191,   114,   116,   -58,   -59,   179,   130,   195,
+     358,   359,   196,   232,   233,   541,   234,   365,   235,   236,
+     518,   519,   520,   244,   245,   246,   551,    23,   249,   247,
+     248,   283,   285,   286,   376,   325,   320,   361,   292,    24,
+      25,   295,   289,   296,   181,   397,   398,    26,    27,    28,
+      29,    30,    31,    32,   177,   317,    33,   362,   356,   363,
+     364,   368,   181,   416,   318,   366,   369,   391,   370,   371,
+     372,   373,   391,   391,   405,   391,   425,   426,   427,   428,
+     406,   407,   391,   430,   431,   408,   433,   432,   409,   413,
+     391,   391,   410,   414,   421,   422,   429,   435,    60,    61,
+     436,    62,    63,    64,    65,    66,    67,   437,     1,   440,
+       2,   441,   450,   479,   456,   457,   467,   481,   482,   462,
+     466,   468,   469,   318,   452,   318,   318,   318,   470,   471,
+     458,   318,   473,   483,    68,   487,   463,   464,   484,   485,
+     318,   423,   489,   215,   216,   391,   391,   391,   496,   491,
+     492,   493,   477,   391,   506,   513,   498,   499,   517,   527,
+     523,   524,   529,   530,   391,   391,   525,   393,   394,   531,
+     395,   446,   535,   538,   539,   474,   546,   403,   554,   497,
+     557,   500,   559,   501,   502,   411,   412,   558,   562,   563,
+     565,   328,   186,   329,   391,   274,   391,   352,   275,   391,
+     509,   504,   201,   198,    38,   391,   391,   526,   318,   318,
+     318,    98,   276,   509,   217,   218,   219,   220,   221,   222,
+     223,   224,   225,   226,   227,   228,   229,   230,   277,    69,
+     391,   391,    70,   391,   391,    71,   105,    72,   391,   521,
+     442,   443,   444,   448,   474,     0,   391,     0,   449,     0,
+     544,     0,     0,     0,     0,     0,     0,     0,   391,   460,
+     461,     0,     0,     0,     0,     0,   391,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,   391,   486,
+       0,   488,     0,   391,   490,     0,     0,     0,     0,     0,
+     494,   495,     0,     0,     0,     0,   391,   391,     0,     0,
+       0,   391,     0,     0,   391,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,   507,   508,     0,   511,   512,
+       0,     0,     0,   516,     0,     0,     0,     0,     0,     0,
+       0,   522,     0,     0,    60,    61,     0,     0,     0,     0,
+       0,     0,     0,   532,     1,     0,     2,     0,   131,     0,
+       0,   536,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,   132,   133,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,   548,     0,     0,     0,     0,   552,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     396,    60,    61,     0,    62,    63,    64,    65,    66,    67,
-      68,    69,    70,     0,     1,     0,     2,   140,   141,   142,
-     143,   144,   145,   146,   147,   148,   149,   150,   151,   152,
-     153,    72,     0,     0,    73,     0,     0,    74,     0,    75,
-      71,   223,   224,   225,   226,   227,   228,   229,   230,   231,
-     232,   233,   234,   235,   236,     0,   154,   155,   156,   157,
-     158,   159,   160,   161,   162,   163,   164,   165,   166,     0,
-     167,   168,   169,   170,     0,   171,   172,   173,   388,   389,
-       0,     0,   390,     0,     0,     0,     0,     0,   397,     0,
-       0,     0,     0,     0,     0,     0,     0,   391,   392,   393,
+       0,   560,   561,     0,     0,     0,   564,     0,     0,   566,
+     134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
+     144,   145,   146,   147,     0,     0,    60,    61,     0,    80,
+      63,    64,    65,    66,    67,     0,     1,     0,     2,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,   148,
+     149,   150,   151,   152,   153,   154,   155,   156,   157,   158,
+     159,   160,    68,   161,   162,   163,   164,     0,   165,   166,
+     167,     0,     0,     0,   122,     0,   123,     0,   168,     0,
+       0,   169,     0,   170,     0,   171,    60,    61,     0,    80,
+      81,    82,    83,    84,    67,     0,     1,     0,     2,    60,
+      61,     0,    80,    81,    82,    83,    84,    67,     0,     1,
+       0,     2,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,    68,     0,     0,     0,    60,    61,     0,    80,
+      63,    64,    65,    66,    67,    68,     1,     0,     2,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     394,   395,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,   190,     0,     0,     0,     0,    69,     0,     0,
+      70,     0,    68,    71,     0,    72,   197,     0,     0,     0,
+       0,     0,     0,   379,   380,    60,    61,   381,     0,     0,
+       0,     0,     0,     0,     0,     1,     0,     2,     0,   382,
+     383,   384,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,   385,   386,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,    69,     0,     0,
+      70,     0,     0,    71,   387,    72,   242,     0,     0,     0,
+      69,     0,     0,    70,     0,     0,    71,     0,    72,   304,
+       0,   134,   135,   136,   137,   138,   139,   140,   141,   142,
+     143,   144,   145,   146,   147,     0,     0,    69,     0,     0,
+      70,     0,     0,    71,     0,    72,    60,    61,     0,    80,
+      81,    82,    83,    84,    67,     0,     1,     0,     2,     0,
+     148,   149,   150,   151,   152,   153,   154,   155,   156,   157,
+     158,   159,   160,     0,   161,   162,   163,   164,     0,   165,
+     166,   167,    68,     0,     0,   122,     0,   123,     0,     0,
+       0,     0,   388,   379,   380,    60,    61,   381,     0,     0,
+       0,     0,     0,     0,     0,     1,     0,     2,     0,   382,
+     383,   384,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,   385,   386,    60,    61,     0,    80,    63,    64,
+      65,    66,    67,     0,     1,     0,     2,     0,     0,     0,
+       0,     0,     0,     0,   387,     0,     0,     0,     0,     0,
+     351,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+      68,   134,   135,   136,   137,   138,   139,   140,   141,   142,
+     143,   144,   145,   146,   147,     0,     0,    69,     0,     0,
+      70,     0,   237,    71,     0,    72,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,   396,     0,     0,    72,     0,     0,    73,     0,
-       0,    74,     0,    75,     0,     0,     0,     0,     0,   140,
-     141,   142,   143,   144,   145,   146,   147,   148,   149,   150,
-     151,   152,   153,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,    60,    61,     0,    83,    63,    64,    65,    66,
-      67,    68,    69,    70,     0,     1,     0,     2,   154,   155,
-     156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
-     166,   384,   167,   168,   169,   170,     0,   171,   172,   173,
-       0,    71,     0,     0,     0,     0,     0,     0,    60,    61,
-     397,    83,    63,    64,    65,    66,    67,    68,    69,    70,
-       0,     1,     0,     2,     0,    60,    61,     0,    83,    84,
-      85,    86,    87,    88,    89,    90,    70,   485,     1,     0,
-       2,     0,     0,     0,     0,    60,    61,    71,    83,    63,
-      64,    65,    66,    67,    68,    69,    70,     0,     1,     0,
-       2,     0,    60,    61,    71,   186,    63,    64,    65,    66,
-      67,    68,    69,    70,     0,     1,     0,     2,     0,     0,
-       0,     0,    60,    61,    71,    83,    84,    85,    86,    87,
-      88,    89,    90,    70,     0,     1,    72,     2,     0,    73,
-       0,    71,    74,     0,    75,    60,    61,     0,   327,    63,
-      64,    65,    66,    67,    68,    69,    70,     0,     1,     0,
-       2,    71,     0,     0,     0,     0,     0,     0,     0,     0,
+     148,   149,   150,   151,   152,   153,   154,   155,   156,   157,
+     158,   159,   160,     0,   161,   162,   163,   164,     0,   165,
+     166,   167,   379,   380,     0,     0,   381,     0,     0,     0,
+       0,     0,   388,     0,     0,     0,     0,     0,   382,   383,
+     384,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,   385,   386,     0,     0,    69,     0,     0,    70,     0,
+       0,    71,     0,    72,     0,     0,     0,     0,     0,     0,
+       0,    60,    61,   387,    80,    81,    82,    83,    84,    67,
+       0,     1,     0,     2,     0,     0,     0,     0,     0,     0,
+     134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
+     144,   145,   146,   147,     0,     0,     0,    68,     0,     0,
+       0,     0,     0,     0,     0,     0,    60,    61,     0,    80,
+      63,    64,    65,    66,    67,     0,     1,     0,     2,   148,
+     149,   150,   151,   152,   153,   154,   155,   156,   157,   158,
+     159,   160,   375,   161,   162,   163,   164,     0,   165,   166,
+     167,     0,    68,     0,     0,     0,     0,     0,     0,    60,
+      61,   388,    80,    63,    64,    65,    66,    67,     0,     1,
+       0,     2,     0,     0,     0,     0,    60,    61,     0,    80,
+      63,    64,    65,    66,    67,   476,     1,     0,     2,     0,
+       0,     0,     0,     0,     0,    68,     0,     0,     0,     0,
+       0,     0,    69,     0,     0,    70,     0,     0,    71,     0,
+      72,     0,    68,    60,    61,     0,   180,    63,    64,    65,
+      66,    67,     0,     1,     0,     2,    60,    61,     0,    80,
+      81,    82,    83,    84,    67,     0,     1,     0,     2,     0,
+       0,     0,     0,     0,     0,     0,     0,    69,     0,    68,
+      70,     0,     0,    71,     0,    72,     0,     0,     0,     0,
+       0,     0,    68,    60,    61,     0,   321,    63,    64,    65,
+      66,    67,     0,     1,     0,     2,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,    72,     0,    71,    73,     0,     0,    74,     0,
-      75,     0,     0,     0,     0,     0,     0,     0,     0,    72,
-       0,     0,    73,     0,     0,    74,     0,    75,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,    72,
-       0,     0,    73,     0,     0,    74,     0,    75,     0,     0,
-       0,     0,     0,     0,     0,     0,    72,     0,     0,    73,
-       0,     0,    74,     0,    75,     0,     0,     0,     0,     0,
-       0,     0,   258,     0,     0,     0,    72,     0,     0,    73,
-       0,     0,    74,     0,   246,   259,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,   260,   261,     0,     0,    72,
-       0,     0,    73,     0,     0,    74,     0,    75,   262,   263,
-     264,   265,   266,   267,   140,   141,   142,   143,   144,   145,
-     146,   147,   148,   149,   150,   151,   268,   269,     0,     0,
+      69,     0,     0,    70,     0,     0,    71,     0,    72,    68,
+       0,     0,     0,     0,     0,     0,     0,    69,     0,     0,
+      70,     0,     0,    71,     0,    72,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   270,   271,
-     272,     0,     0,   273,   155,   156,   157,   158,   159,   160,
-     161,   162,   163,   164,   165,   166,   274,   275,   168,   169,
-     170,   276,   277,   278,   279
+     252,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,   253,    69,     0,     0,    70,     0,     0,
+      71,     0,    72,   254,   255,     0,     0,    69,     0,     0,
+      70,     0,     0,    71,     0,   240,   256,   257,   258,   259,
+     260,   261,   134,   135,   136,   137,   138,   139,   140,   141,
+     142,   143,   144,   145,   262,   263,     0,     0,     0,     0,
+       0,     0,     0,     0,    69,     0,     0,    70,     0,     0,
+      71,     0,    72,     0,     0,     0,   264,   265,   266,     0,
+       0,   267,   149,   150,   151,   152,   153,   154,   155,   156,
+     157,   158,   159,   160,   268,   269,   162,   163,   164,   270,
+     271,   272,   273
 };
 
 static const short int yycheck[] =
 {
-      23,     0,   264,   175,   176,   262,    93,   362,   385,     4,
-      31,   366,    11,   340,    12,   272,   298,   137,   275,   276,
-     277,   278,   279,    25,   144,   282,   283,    31,    18,   136,
-      20,    12,    53,    10,    11,    12,    13,    10,    11,    12,
-      13,   208,   209,   265,    19,    33,   115,   116,    57,     0,
-     336,    26,    75,   137,   137,    53,    48,    49,    50,    82,
-     137,     0,   137,   285,   148,   148,   135,    18,   354,    20,
-      21,   148,    53,   148,   246,    67,    27,    28,   137,   102,
-       5,     6,   141,     8,     9,    10,    11,    12,    13,    14,
-      15,    16,    93,    18,   550,    20,    47,   120,   138,   356,
-     140,   124,   142,    54,   560,   137,   129,    58,   107,   486,
-     137,   115,   116,   137,   146,    20,   138,   144,   140,    44,
-      29,    30,   146,     9,   146,   115,   116,   115,   116,   136,
-      16,   135,   487,     5,     6,    19,     8,     9,    10,    11,
-      12,    13,    14,    15,    16,   147,    18,   135,    20,    51,
-      52,   138,   147,   140,    41,   322,    43,   144,   415,   142,
-     417,   418,   419,   445,   541,    36,   423,   144,   495,   136,
-     497,   144,    44,   148,   136,   432,   137,   137,   201,   202,
-     141,   141,   205,   138,   561,   140,   141,   136,     0,   188,
-      60,    61,    62,    63,    64,    65,    66,   137,   138,   554,
-     140,   556,    37,    38,    39,   136,    18,    42,    20,    21,
-      81,   138,    20,   140,   139,    27,    28,   142,    20,   144,
-     145,    20,   147,   246,   311,   397,    10,    11,    12,    13,
-     137,   138,    18,   140,    20,    47,   259,     3,     4,   262,
-      23,    24,    54,   500,   501,   502,    58,   270,   271,   272,
-     273,   274,   275,   276,   277,   278,   279,   280,   281,   282,
-     283,   543,     3,     4,   546,     3,     4,   139,   291,     4,
-     142,   140,    17,   145,     4,   147,   148,     4,   540,     3,
-       4,     3,     4,     4,    29,    30,   111,   112,     7,   551,
-      34,    35,    37,    38,    39,    40,    41,    42,    43,     7,
-     323,    46,   115,   116,     7,   143,   143,   140,   140,   140,
-     311,   140,   140,   336,   337,   338,    20,   140,   140,   140,
-     140,   137,    20,   324,   141,   140,   137,   146,   329,   330,
-     140,   354,   355,   356,   335,   141,   140,    55,    33,   146,
-     137,   342,   137,   137,   137,   146,   137,   137,   137,   350,
-     351,    20,     4,    33,   146,   137,   379,    88,    89,    90,
-      91,    92,    93,    94,    95,    96,    97,   238,   239,   240,
-     241,   242,   137,   137,   137,   137,   137,   137,   137,   137,
-     251,   252,   253,   254,   137,   141,    59,   137,   137,   137,
-     142,   137,   415,   416,   417,   418,   419,   137,   137,   422,
-     423,   137,    20,    16,   405,   406,   407,   141,   137,   432,
-      16,     4,   413,   141,    53,   141,   141,   140,    20,    53,
-     137,   444,   137,   424,   425,   137,   137,   137,   137,   142,
-     301,   302,   137,   140,     4,   141,   137,   308,   137,   141,
-     137,   141,    16,    16,   443,   141,   137,   141,   471,   137,
-     329,   330,   144,   454,   144,   456,   335,    16,   459,   137,
-      16,    72,    16,   342,   465,   466,   269,   107,   268,   492,
-     487,   350,   351,   291,   129,   124,   192,   500,   501,   502,
-      11,   512,   505,    48,    51,   505,   412,    -1,    -1,   490,
-     491,    -1,   493,   494,    -1,    -1,    -1,   498,    -1,   370,
-     371,   372,   373,   192,    -1,   506,   377,   378,   192,   380,
-     192,    -1,    -1,   512,    -1,    -1,    -1,   518,    -1,   542,
-      -1,    -1,    -1,    -1,    -1,   526,   405,   406,   407,    -1,
-      -1,    -1,    -1,    -1,   413,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,   424,   425,   548,    -1,    -1,
-      -1,    -1,   553,    -1,    -1,    -1,    -1,    -1,    -1,   430,
-     431,    -1,    -1,    -1,    -1,   566,   567,    -1,    -1,    -1,
-     571,    -1,    -1,   574,    -1,   454,    -1,   456,    -1,    -1,
-     459,    -1,    -1,    -1,    -1,    -1,   465,   466,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,   475,    -1,   477,   478,    -1,    -1,
-      -1,   490,   491,    -1,   493,   494,    -1,    -1,    -1,   498,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,   506,     5,     6,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   518,
-      -1,    18,    -1,    20,    -1,    22,    -1,   526,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    35,    36,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   548,
-      -1,    -1,    -1,    -1,   553,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,   566,   567,    -1,
-      -1,    -1,   571,    -1,    -1,   574,    -1,    74,    75,    76,
-      77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
-      87,    -1,    -1,    -1,    -1,     5,     6,    -1,     8,     9,
-      10,    11,    12,    13,    14,    15,    16,    -1,    18,    -1,
-      20,    -1,    -1,    -1,    -1,    -1,   113,   114,   115,   116,
-     117,   118,   119,   120,   121,   122,   123,   124,   125,    -1,
-     127,   128,   129,   130,    44,   132,   133,   134,    -1,    -1,
-      -1,   138,    -1,   140,    -1,   142,    -1,    -1,   145,    -1,
-     147,    -1,   149,     5,     6,    -1,     8,     9,    10,    11,
-      12,    13,    14,    15,    16,    -1,    18,    -1,    20,     5,
-       6,    -1,     8,     9,    10,    11,    12,    13,    14,    15,
-      16,    -1,    18,    -1,    20,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    44,    -1,     5,     6,    -1,     8,     9,    10,
-      11,    12,    13,    14,    15,    16,    -1,    18,    44,    20,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    34,    -1,    -1,    -1,    -1,    -1,   139,
-      -1,    -1,   142,    44,    -1,   145,    -1,   147,   148,    -1,
-      -1,    -1,    -1,     3,     4,     5,     6,     7,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    -1,
-      20,    -1,    22,    23,    24,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    35,    36,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,   139,    -1,    -1,
-     142,    -1,    -1,   145,    -1,   147,   148,    57,    -1,    -1,
-      -1,    -1,    -1,   139,    -1,    -1,   142,    -1,    -1,   145,
-      -1,   147,   148,    -1,    74,    75,    76,    77,    78,    79,
-      80,    81,    82,    83,    84,    85,    86,    87,   139,    -1,
-      -1,   142,    -1,    -1,   145,    -1,   147,     5,     6,    -1,
-       8,     9,    10,    11,    12,    13,    14,    15,    16,    -1,
-      18,    -1,    20,   113,   114,   115,   116,   117,   118,   119,
-     120,   121,   122,   123,   124,   125,    34,   127,   128,   129,
-     130,    -1,   132,   133,   134,    -1,    44,    -1,   138,    -1,
-     140,    -1,    -1,    -1,    -1,   145,     3,     4,     5,     6,
-       7,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    18,    -1,    20,    -1,    22,    23,    24,    -1,    -1,
-      23,    24,    -1,    -1,    -1,    -1,    -1,    -1,    35,    36,
+      23,     0,   258,   376,     4,   169,   170,    87,   331,    10,
+     353,    36,    11,   292,   357,     5,     6,    10,     8,     9,
+      10,    11,    12,    13,    16,    15,    28,    17,    22,   202,
+     203,    23,    30,   541,    15,    10,    17,    10,    45,    46,
+      47,    28,     9,   551,   259,   256,    13,   112,   113,    72,
+     133,    41,   327,    78,     0,   266,    79,    64,   269,   270,
+     271,   272,   273,    50,   279,   276,   277,   132,     0,    15,
+     345,    17,    18,    96,   134,    50,   240,    50,    24,    25,
+     134,   141,    38,    15,    40,    17,    18,     0,   134,   143,
+     134,   114,    24,    25,   134,   118,    87,   134,    44,   145,
+     123,   145,   101,   143,   477,    51,   134,    54,   145,    55,
+     112,   113,    44,   134,   112,   113,   135,   145,   137,    51,
+     141,   134,   134,    55,   143,   138,   138,   135,   133,   137,
+     132,   112,   113,   141,   132,   478,   347,    34,    35,    36,
+     141,    17,    39,   316,   144,    15,   136,    17,   141,   139,
+     144,   133,   142,   145,   144,   145,   135,   436,   137,   532,
+     139,   139,   134,   486,   133,   488,   138,    16,   134,   135,
+     133,   137,   195,   196,   134,   135,   199,   137,   135,   552,
+     137,   138,   133,   182,    85,    86,    87,    88,    89,    90,
+      91,    92,    93,    94,   135,   406,   137,   408,   409,   410,
+      26,    27,   545,   414,   547,    48,    49,   232,   233,   234,
+     235,   236,   423,    20,    21,     3,     4,   240,     3,     4,
+     245,   246,   247,   248,   388,   305,   108,   109,   112,   113,
+     253,    34,    35,   256,    57,    58,    59,    60,    61,    62,
+      63,   264,   265,   266,   267,   268,   269,   270,   271,   272,
+     273,   274,   275,   276,   277,   534,    17,     4,   537,    17,
+      17,     4,   285,   137,     4,     7,     7,     4,     7,   140,
+     295,   296,   140,   137,   137,   531,   137,   302,   137,   137,
+     491,   492,   493,    17,   137,   137,   542,    14,   134,   137,
+     137,    17,   134,   138,   317,    10,    52,   134,   138,    26,
+      27,   137,   143,   137,   327,   328,   329,    34,    35,    36,
+      37,    38,    39,    40,   305,   137,    43,   134,   143,   134,
+     134,   134,   345,   346,   347,   143,   134,   318,    30,   134,
+      17,     4,   323,   324,   134,   326,   361,   362,   363,   364,
+     134,   134,   333,   368,   369,   134,   371,   370,   134,    30,
+     341,   342,   134,   134,   134,   134,   143,   134,     5,     6,
+     138,     8,     9,    10,    11,    12,    13,    56,    15,   134,
+      17,   134,   139,    17,   134,   134,   138,    13,    13,   134,
+     134,   134,   134,   406,   407,   408,   409,   410,   138,   138,
+     413,   414,   138,   137,    41,     4,   421,   422,   134,   134,
+     423,   134,   134,    20,    21,   396,   397,   398,   137,   134,
+     134,   134,   435,   404,   134,   134,   138,   138,   134,    50,
+     138,   138,    17,   134,   415,   416,   138,   323,   324,   139,
+     326,    50,   141,     4,    13,   434,   141,   333,   134,   462,
+      13,   466,   134,   468,   469,   341,   342,    13,    13,    69,
+      13,   262,   101,   263,   445,   186,   447,   285,   186,   450,
+     483,   478,   123,   118,    11,   456,   457,   503,   491,   492,
+     493,    48,   186,   496,    91,    92,    93,    94,    95,    96,
+      97,    98,    99,   100,   101,   102,   103,   104,   186,   136,
+     481,   482,   139,   484,   485,   142,    51,   144,   489,   496,
+     396,   397,   398,   403,   503,    -1,   497,    -1,   404,    -1,
+     533,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   509,   415,
+     416,    -1,    -1,    -1,    -1,    -1,   517,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   539,   445,
+      -1,   447,    -1,   544,   450,    -1,    -1,    -1,    -1,    -1,
+     456,   457,    -1,    -1,    -1,    -1,   557,   558,    -1,    -1,
+      -1,   562,    -1,    -1,   565,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,   481,   482,    -1,   484,   485,
+      -1,    -1,    -1,   489,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,   497,    -1,    -1,     5,     6,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,   509,    15,    -1,    17,    -1,    19,    -1,
+      -1,   517,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    32,    33,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,   539,    -1,    -1,    -1,    -1,   544,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      57,     5,     6,    -1,     8,     9,    10,    11,    12,    13,
-      14,    15,    16,    -1,    18,    -1,    20,    74,    75,    76,
-      77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
-      87,   139,    -1,    -1,   142,    -1,    -1,   145,    -1,   147,
-      44,    94,    95,    96,    97,    98,    99,   100,   101,   102,
-     103,   104,   105,   106,   107,    -1,   113,   114,   115,   116,
-     117,   118,   119,   120,   121,   122,   123,   124,   125,    -1,
-     127,   128,   129,   130,    -1,   132,   133,   134,     3,     4,
-      -1,    -1,     7,    -1,    -1,    -1,    -1,    -1,   145,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    22,    23,    24,
+      -1,   557,   558,    -1,    -1,    -1,   562,    -1,    -1,   565,
+      71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
+      81,    82,    83,    84,    -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,   110,
+     111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
+     121,   122,    41,   124,   125,   126,   127,    -1,   129,   130,
+     131,    -1,    -1,    -1,   135,    -1,   137,    -1,   139,    -1,
+      -1,   142,    -1,   144,    -1,   146,     5,     6,    -1,     8,
+       9,    10,    11,    12,    13,    -1,    15,    -1,    17,     5,
+       6,    -1,     8,     9,    10,    11,    12,    13,    -1,    15,
+      -1,    17,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    41,    -1,    -1,    -1,     5,     6,    -1,     8,
+       9,    10,    11,    12,    13,    41,    15,    -1,    17,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      35,    36,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    31,    -1,    -1,    -1,    -1,   136,    -1,    -1,
+     139,    -1,    41,   142,    -1,   144,   145,    -1,    -1,    -1,
+      -1,    -1,    -1,     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,    -1,    -1,    -1,    -1,    -1,   136,    -1,    -1,
+     139,    -1,    -1,   142,    54,   144,   145,    -1,    -1,    -1,
+     136,    -1,    -1,   139,    -1,    -1,   142,    -1,   144,   145,
+      -1,    71,    72,    73,    74,    75,    76,    77,    78,    79,
+      80,    81,    82,    83,    84,    -1,    -1,   136,    -1,    -1,
+     139,    -1,    -1,   142,    -1,   144,     5,     6,    -1,     8,
+       9,    10,    11,    12,    13,    -1,    15,    -1,    17,    -1,
+     110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
+     120,   121,   122,    -1,   124,   125,   126,   127,    -1,   129,
+     130,   131,    41,    -1,    -1,   135,    -1,   137,    -1,    -1,
+      -1,    -1,   142,     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,     5,     6,    -1,     8,     9,    10,
+      11,    12,    13,    -1,    15,    -1,    17,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    54,    -1,    -1,    -1,    -1,    -1,
+      31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      41,    71,    72,    73,    74,    75,    76,    77,    78,    79,
+      80,    81,    82,    83,    84,    -1,    -1,   136,    -1,    -1,
+     139,    -1,   141,   142,    -1,   144,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    57,    -1,    -1,   139,    -1,    -1,   142,    -1,
-      -1,   145,    -1,   147,    -1,    -1,    -1,    -1,    -1,    74,
-      75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
-      85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,     5,     6,    -1,     8,     9,    10,    11,    12,
-      13,    14,    15,    16,    -1,    18,    -1,    20,   113,   114,
-     115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
-     125,    34,   127,   128,   129,   130,    -1,   132,   133,   134,
-      -1,    44,    -1,    -1,    -1,    -1,    -1,    -1,     5,     6,
-     145,     8,     9,    10,    11,    12,    13,    14,    15,    16,
-      -1,    18,    -1,    20,    -1,     5,     6,    -1,     8,     9,
-      10,    11,    12,    13,    14,    15,    16,    34,    18,    -1,
-      20,    -1,    -1,    -1,    -1,     5,     6,    44,     8,     9,
-      10,    11,    12,    13,    14,    15,    16,    -1,    18,    -1,
-      20,    -1,     5,     6,    44,     8,     9,    10,    11,    12,
-      13,    14,    15,    16,    -1,    18,    -1,    20,    -1,    -1,
-      -1,    -1,     5,     6,    44,     8,     9,    10,    11,    12,
-      13,    14,    15,    16,    -1,    18,   139,    20,    -1,   142,
-      -1,    44,   145,    -1,   147,     5,     6,    -1,     8,     9,
-      10,    11,    12,    13,    14,    15,    16,    -1,    18,    -1,
-      20,    44,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
+     120,   121,   122,    -1,   124,   125,   126,   127,    -1,   129,
+     130,   131,     3,     4,    -1,    -1,     7,    -1,    -1,    -1,
+      -1,    -1,   142,    -1,    -1,    -1,    -1,    -1,    19,    20,
+      21,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    32,    33,    -1,    -1,   136,    -1,    -1,   139,    -1,
+      -1,   142,    -1,   144,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,     5,     6,    54,     8,     9,    10,    11,    12,    13,
+      -1,    15,    -1,    17,    -1,    -1,    -1,    -1,    -1,    -1,
+      71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
+      81,    82,    83,    84,    -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,   110,
+     111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
+     121,   122,    31,   124,   125,   126,   127,    -1,   129,   130,
+     131,    -1,    41,    -1,    -1,    -1,    -1,    -1,    -1,     5,
+       6,   142,     8,     9,    10,    11,    12,    13,    -1,    15,
+      -1,    17,    -1,    -1,    -1,    -1,     5,     6,    -1,     8,
+       9,    10,    11,    12,    13,    31,    15,    -1,    17,    -1,
+      -1,    -1,    -1,    -1,    -1,    41,    -1,    -1,    -1,    -1,
+      -1,    -1,   136,    -1,    -1,   139,    -1,    -1,   142,    -1,
+     144,    -1,    41,     5,     6,    -1,     8,     9,    10,    11,
+      12,    13,    -1,    15,    -1,    17,     5,     6,    -1,     8,
+       9,    10,    11,    12,    13,    -1,    15,    -1,    17,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,   136,    -1,    41,
+     139,    -1,    -1,   142,    -1,   144,    -1,    -1,    -1,    -1,
+      -1,    -1,    41,     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,   139,    -1,    44,   142,    -1,    -1,   145,    -1,
-     147,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   139,
-      -1,    -1,   142,    -1,    -1,   145,    -1,   147,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   139,
-      -1,    -1,   142,    -1,    -1,   145,    -1,   147,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,   139,    -1,    -1,   142,
-      -1,    -1,   145,    -1,   147,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    32,    -1,    -1,    -1,   139,    -1,    -1,   142,
-      -1,    -1,   145,    -1,   147,    45,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    55,    56,    -1,    -1,   139,
-      -1,    -1,   142,    -1,    -1,   145,    -1,   147,    68,    69,
-      70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
-      80,    81,    82,    83,    84,    85,    86,    87,    -1,    -1,
+     136,    -1,    -1,   139,    -1,    -1,   142,    -1,   144,    41,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,   136,    -1,    -1,
+     139,    -1,    -1,   142,    -1,   144,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   108,   109,
-     110,    -1,    -1,   113,   114,   115,   116,   117,   118,   119,
-     120,   121,   122,   123,   124,   125,   126,   127,   128,   129,
-     130,   131,   132,   133,   134
+      29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    42,   136,    -1,    -1,   139,    -1,    -1,
+     142,    -1,   144,    52,    53,    -1,    -1,   136,    -1,    -1,
+     139,    -1,    -1,   142,    -1,   144,    65,    66,    67,    68,
+      69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
+      79,    80,    81,    82,    83,    84,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,   136,    -1,    -1,   139,    -1,    -1,
+     142,    -1,   144,    -1,    -1,    -1,   105,   106,   107,    -1,
+      -1,   110,   111,   112,   113,   114,   115,   116,   117,   118,
+     119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
+     129,   130,   131
 };
 
 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
    symbol of state STATE-NUM.  */
 static const unsigned char yystos[] =
 {
-       0,    18,    20,    21,    27,    28,    47,    54,    58,   160,
-     187,   188,   189,   200,   191,   190,    48,    49,    50,    67,
-     197,   136,    57,    17,    29,    30,    37,    38,    39,    40,
-      41,    42,    43,    46,   161,   162,   186,     0,   189,   136,
-      41,    43,   163,   209,    37,    38,    39,    42,   164,   206,
-     208,   215,   136,   136,   136,   136,   142,   198,    20,   195,
-       5,     6,     8,     9,    10,    11,    12,    13,    14,    15,
-      16,    44,   139,   142,   145,   147,   151,   176,   177,   200,
-     212,   186,   186,     8,     9,    10,    11,    12,    13,    14,
-      15,   158,   159,   177,   183,    60,    61,    62,    63,    64,
-      65,    66,   165,   204,   204,    19,   216,   217,    26,   148,
-     207,   216,    20,    51,    52,   196,     4,    20,    20,   199,
-     140,     4,     4,     4,   147,   148,   177,   182,   138,   140,
-     183,   177,    23,    24,     3,     4,     7,    22,    35,    36,
-      74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
-      84,    85,    86,    87,   113,   114,   115,   116,   117,   118,
-     119,   120,   121,   122,   123,   124,   125,   127,   128,   129,
-     130,   132,   133,   134,   142,   145,   147,   149,   152,   153,
-     154,   155,   184,   212,   192,     4,     8,   177,   179,    25,
-     147,   205,   160,   220,   137,   144,    34,   177,   178,   180,
-     181,   143,   143,   148,   182,   137,   148,   181,   193,   194,
-      88,    89,    90,    91,    92,    93,    94,    95,    96,    97,
-     156,    23,    24,    94,    95,    96,    97,    98,    99,   100,
-     101,   102,   103,   104,   105,   106,   107,   157,   140,   140,
-     140,   140,   140,   144,   183,   185,   147,   185,   148,   185,
-      20,   140,   140,   140,   140,   137,   174,   200,    32,    45,
-      55,    56,    68,    69,    70,    71,    72,    73,    86,    87,
-     108,   109,   110,   113,   126,   127,   131,   132,   133,   134,
-     152,   153,   154,   155,   218,   224,   225,   226,   227,    20,
-     167,   137,   141,   177,   177,   146,   148,   177,   141,   174,
-     174,   140,   140,   183,   183,   183,   183,   183,   137,   144,
-     148,   177,   185,   146,   148,   183,   183,   183,   183,    31,
-      53,   172,   175,   140,   177,   214,    55,     8,   214,     9,
-      16,    10,    11,    12,    13,   158,   165,   156,   157,   177,
-     177,   214,   177,   177,   221,   214,   214,   214,   214,   214,
-     177,   177,   214,   214,   165,   111,   112,   115,   116,   166,
-      34,   178,   169,   144,   146,   146,   169,   183,   183,   223,
-     137,   137,   137,   137,   183,   146,   148,   137,   137,    33,
-     137,    20,     4,   174,    34,   177,   202,   203,     3,     4,
-       7,    22,    23,    24,    35,    36,    57,   145,   184,   211,
-     212,   213,   213,   213,   213,   179,   177,   177,   137,   171,
-     137,   171,   213,   142,   137,   137,   137,   137,   137,   137,
-     213,   213,    33,   137,   179,   177,   214,   135,   166,   168,
-     137,   137,   137,   141,   183,   183,   183,   183,   146,   183,
-     183,   177,   183,   167,   137,   141,    59,   210,   185,   137,
-     137,   213,   213,   213,    12,    53,    12,   223,   213,   142,
-     214,   177,   214,   214,   214,   137,   137,   177,   214,   213,
-     213,   137,   183,   183,   214,   137,   141,   137,   137,   141,
-     141,   141,   141,   200,   201,    34,   177,   169,    20,   146,
-      16,    16,   140,   137,   137,   213,     4,   213,   137,   213,
-     137,   137,   137,   213,   213,   140,   177,   141,   141,   183,
-     183,   183,   167,   172,   173,   137,   213,   213,   177,   222,
-     213,   213,   137,   171,   171,   213,   137,   214,   214,   214,
-     222,   213,   141,   141,   141,   201,    53,   170,    20,   137,
-     142,   213,   137,   141,   144,   213,   141,     4,    16,   144,
-     158,   219,   167,   177,   169,   144,   169,   213,   211,   144,
-     158,   213,    33,   137,   211,   167,    16,    16,   137,   213,
-     213,    16,    72,   213,    16,   213
+       0,    15,    17,    18,    24,    25,    44,    51,    55,   157,
+     184,   185,   186,   197,   188,   187,    45,    46,    47,    64,
+     194,   133,    54,    14,    26,    27,    34,    35,    36,    37,
+      38,    39,    40,    43,   158,   159,   183,     0,   186,   133,
+      38,    40,   160,   206,    34,    35,    36,    39,   161,   203,
+     205,   212,   133,   133,   133,   133,   139,   195,    17,   192,
+       5,     6,     8,     9,    10,    11,    12,    13,    41,   136,
+     139,   142,   144,   148,   173,   174,   197,   209,   183,   183,
+       8,     9,    10,    11,    12,   155,   156,   174,   180,    57,
+      58,    59,    60,    61,    62,    63,   162,   201,   201,    16,
+     213,   214,    23,   145,   204,   213,    17,    48,    49,   193,
+       4,    17,    17,   196,   137,     4,     4,     4,   144,   145,
+     174,   179,   135,   137,   180,   174,    20,    21,     3,     4,
+       7,    19,    32,    33,    71,    72,    73,    74,    75,    76,
+      77,    78,    79,    80,    81,    82,    83,    84,   110,   111,
+     112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
+     122,   124,   125,   126,   127,   129,   130,   131,   139,   142,
+     144,   146,   149,   150,   151,   152,   181,   209,   189,     4,
+       8,   174,   176,    22,   144,   202,   157,   217,   134,   141,
+      31,   174,   175,   177,   178,   140,   140,   145,   179,   134,
+     145,   178,   190,   191,    85,    86,    87,    88,    89,    90,
+      91,    92,    93,    94,   153,    20,    21,    91,    92,    93,
+      94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
+     104,   154,   137,   137,   137,   137,   137,   141,   180,   182,
+     144,   182,   145,   182,    17,   137,   137,   137,   137,   134,
+     171,   197,    29,    42,    52,    53,    65,    66,    67,    68,
+      69,    70,    83,    84,   105,   106,   107,   110,   123,   124,
+     128,   129,   130,   131,   149,   150,   151,   152,   215,   221,
+     222,   223,   224,    17,   164,   134,   138,   174,   174,   143,
+     145,   174,   138,   171,   171,   137,   137,   180,   180,   180,
+     180,   180,   134,   141,   145,   174,   182,   143,   145,   180,
+     180,   180,   180,    28,    50,   169,   172,   137,   174,   211,
+      52,     8,   211,     9,    13,    10,   155,   162,   153,   154,
+     174,   174,   211,   174,   174,   218,   211,   211,   211,   211,
+     211,   174,   174,   211,   211,   162,   108,   109,   112,   113,
+     163,    31,   175,   166,   141,   143,   143,   166,   180,   180,
+     220,   134,   134,   134,   134,   180,   143,   145,   134,   134,
+      30,   134,    17,     4,   171,    31,   174,   199,   200,     3,
+       4,     7,    19,    20,    21,    32,    33,    54,   142,   181,
+     208,   209,   210,   210,   210,   210,   176,   174,   174,   134,
+     168,   134,   168,   210,   139,   134,   134,   134,   134,   134,
+     134,   210,   210,    30,   134,   176,   174,   211,   132,   163,
+     165,   134,   134,   134,   138,   180,   180,   180,   180,   143,
+     180,   180,   174,   180,   164,   134,   138,    56,   207,   182,
+     134,   134,   210,   210,   210,    10,    50,    10,   220,   210,
+     139,   211,   174,   211,   211,   211,   134,   134,   174,   211,
+     210,   210,   134,   180,   180,   211,   134,   138,   134,   134,
+     138,   138,   138,   138,   197,   198,    31,   174,   166,    17,
+     143,    13,    13,   137,   134,   134,   210,     4,   210,   134,
+     210,   134,   134,   134,   210,   210,   137,   174,   138,   138,
+     180,   180,   180,   164,   169,   170,   134,   210,   210,   174,
+     219,   210,   210,   134,   168,   168,   210,   134,   211,   211,
+     211,   219,   210,   138,   138,   138,   198,    50,   167,    17,
+     134,   139,   210,   134,   138,   141,   210,   138,     4,    13,
+     141,   155,   216,   164,   174,   166,   141,   166,   210,   208,
+     141,   155,   210,    30,   134,   208,   164,    13,    13,   134,
+     210,   210,    13,    69,   210,    13,   210
 };
 
 #define yyerrok		(yyerrstatus = 0)
@@ -3021,7 +2992,7 @@
   switch (yyn)
     {
         case 3:
-#line 1020 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1020 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
   if ((yyvsp[0].UIntVal) > (uint32_t)INT32_MAX)     // Outside of my range!
     GEN_ERROR("Value too large for type!");
@@ -3031,268 +3002,268 @@
     break;
 
   case 31:
-#line 1036 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1036 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     { (yyval.IPredicate) = ICmpInst::ICMP_EQ; ;}
     break;
 
   case 32:
-#line 1036 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1036 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     { (yyval.IPredicate) = ICmpInst::ICMP_NE; ;}
     break;
 
   case 33:
-#line 1037 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1037 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     { (yyval.IPredicate) = ICmpInst::ICMP_SLT; ;}
     break;
 
   case 34:
-#line 1037 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1037 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     { (yyval.IPredicate) = ICmpInst::ICMP_SGT; ;}
     break;
 
   case 35:
-#line 1038 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1038 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     { (yyval.IPredicate) = ICmpInst::ICMP_SLE; ;}
     break;
 
   case 36:
-#line 1038 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1038 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     { (yyval.IPredicate) = ICmpInst::ICMP_SGE; ;}
     break;
 
   case 37:
-#line 1039 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1039 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     { (yyval.IPredicate) = ICmpInst::ICMP_ULT; ;}
     break;
 
   case 38:
-#line 1039 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1039 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     { (yyval.IPredicate) = ICmpInst::ICMP_UGT; ;}
     break;
 
   case 39:
-#line 1040 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1040 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     { (yyval.IPredicate) = ICmpInst::ICMP_ULE; ;}
     break;
 
   case 40:
-#line 1040 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1040 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     { (yyval.IPredicate) = ICmpInst::ICMP_UGE; ;}
     break;
 
   case 41:
-#line 1044 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1044 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     { (yyval.FPredicate) = FCmpInst::FCMP_OEQ; ;}
     break;
 
   case 42:
-#line 1044 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1044 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     { (yyval.FPredicate) = FCmpInst::FCMP_ONE; ;}
     break;
 
   case 43:
-#line 1045 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1045 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     { (yyval.FPredicate) = FCmpInst::FCMP_OLT; ;}
     break;
 
   case 44:
-#line 1045 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1045 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     { (yyval.FPredicate) = FCmpInst::FCMP_OGT; ;}
     break;
 
   case 45:
-#line 1046 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1046 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     { (yyval.FPredicate) = FCmpInst::FCMP_OLE; ;}
     break;
 
   case 46:
-#line 1046 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1046 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     { (yyval.FPredicate) = FCmpInst::FCMP_OGE; ;}
     break;
 
   case 47:
-#line 1047 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1047 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     { (yyval.FPredicate) = FCmpInst::FCMP_ORD; ;}
     break;
 
   case 48:
-#line 1047 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1047 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     { (yyval.FPredicate) = FCmpInst::FCMP_UNO; ;}
     break;
 
   case 49:
-#line 1048 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1048 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     { (yyval.FPredicate) = FCmpInst::FCMP_UEQ; ;}
     break;
 
   case 50:
-#line 1048 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1048 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     { (yyval.FPredicate) = FCmpInst::FCMP_UNE; ;}
     break;
 
   case 51:
-#line 1049 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1049 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     { (yyval.FPredicate) = FCmpInst::FCMP_ULT; ;}
     break;
 
   case 52:
-#line 1049 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1049 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     { (yyval.FPredicate) = FCmpInst::FCMP_UGT; ;}
     break;
 
   case 53:
-#line 1050 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1050 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     { (yyval.FPredicate) = FCmpInst::FCMP_ULE; ;}
     break;
 
   case 54:
-#line 1050 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1050 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     { (yyval.FPredicate) = FCmpInst::FCMP_UGE; ;}
     break;
 
   case 55:
-#line 1051 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1051 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     { (yyval.FPredicate) = FCmpInst::FCMP_TRUE; ;}
     break;
 
   case 56:
-#line 1052 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1052 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     { (yyval.FPredicate) = FCmpInst::FCMP_FALSE; ;}
     break;
 
-  case 63:
-#line 1061 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 60:
+#line 1061 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.StrVal) = (yyvsp[-1].StrVal);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 64:
-#line 1065 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 61:
+#line 1065 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.StrVal) = 0;
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 65:
-#line 1071 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 62:
+#line 1071 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Linkage) = GlobalValue::InternalLinkage; ;}
     break;
 
-  case 66:
-#line 1072 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 63:
+#line 1072 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Linkage) = GlobalValue::WeakLinkage; ;}
     break;
 
-  case 67:
-#line 1073 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 64:
+#line 1073 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Linkage) = GlobalValue::LinkOnceLinkage; ;}
     break;
 
-  case 68:
-#line 1074 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 65:
+#line 1074 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Linkage) = GlobalValue::AppendingLinkage; ;}
     break;
 
-  case 69:
-#line 1075 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 66:
+#line 1075 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Linkage) = GlobalValue::DLLExportLinkage; ;}
     break;
 
-  case 70:
-#line 1079 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 67:
+#line 1079 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Linkage) = GlobalValue::DLLImportLinkage; ;}
     break;
 
-  case 71:
-#line 1080 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 68:
+#line 1080 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Linkage) = GlobalValue::ExternalWeakLinkage; ;}
     break;
 
-  case 72:
-#line 1081 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 69:
+#line 1081 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Linkage) = GlobalValue::ExternalLinkage; ;}
     break;
 
-  case 73:
-#line 1085 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 70:
+#line 1085 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Linkage) = GlobalValue::ExternalLinkage; ;}
     break;
 
-  case 74:
-#line 1086 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 71:
+#line 1086 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Linkage) = GlobalValue::DLLImportLinkage; ;}
     break;
 
-  case 75:
-#line 1087 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 72:
+#line 1087 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Linkage) = GlobalValue::ExternalWeakLinkage; ;}
     break;
 
-  case 76:
-#line 1091 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 73:
+#line 1091 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Linkage) = GlobalValue::ExternalLinkage; ;}
     break;
 
-  case 77:
-#line 1092 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 74:
+#line 1092 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Linkage) = GlobalValue::InternalLinkage; ;}
     break;
 
-  case 78:
-#line 1093 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 75:
+#line 1093 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Linkage) = GlobalValue::LinkOnceLinkage; ;}
     break;
 
-  case 79:
-#line 1094 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 76:
+#line 1094 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Linkage) = GlobalValue::WeakLinkage; ;}
     break;
 
-  case 80:
-#line 1095 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 77:
+#line 1095 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Linkage) = GlobalValue::DLLExportLinkage; ;}
     break;
 
-  case 81:
-#line 1098 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 78:
+#line 1098 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     { (yyval.UIntVal) = CallingConv::C; ;}
     break;
 
-  case 82:
-#line 1099 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 79:
+#line 1099 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     { (yyval.UIntVal) = CallingConv::C; ;}
     break;
 
-  case 83:
-#line 1100 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 80:
+#line 1100 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     { (yyval.UIntVal) = CallingConv::CSRet; ;}
     break;
 
-  case 84:
-#line 1101 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 81:
+#line 1101 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     { (yyval.UIntVal) = CallingConv::Fast; ;}
     break;
 
-  case 85:
-#line 1102 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 82:
+#line 1102 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     { (yyval.UIntVal) = CallingConv::Cold; ;}
     break;
 
-  case 86:
-#line 1103 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 83:
+#line 1103 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     { (yyval.UIntVal) = CallingConv::X86_StdCall; ;}
     break;
 
-  case 87:
-#line 1104 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 84:
+#line 1104 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     { (yyval.UIntVal) = CallingConv::X86_FastCall; ;}
     break;
 
-  case 88:
-#line 1105 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 85:
+#line 1105 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
                    if ((unsigned)(yyvsp[0].UInt64Val) != (yyvsp[0].UInt64Val))
                      GEN_ERROR("Calling conv too large!");
@@ -3301,52 +3272,52 @@
                  ;}
     break;
 
-  case 89:
-#line 1112 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 86:
+#line 1112 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     { (yyval.ParamAttrs) = FunctionType::ZExtAttribute; ;}
     break;
 
-  case 90:
-#line 1113 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 87:
+#line 1113 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     { (yyval.ParamAttrs) = FunctionType::SExtAttribute; ;}
     break;
 
-  case 91:
-#line 1116 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 88:
+#line 1116 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     { (yyval.ParamAttrs) = FunctionType::NoAttributeSet; ;}
     break;
 
-  case 92:
-#line 1117 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 89:
+#line 1117 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
                 (yyval.ParamAttrs) = FunctionType::ParameterAttributes((yyvsp[-1].ParamAttrs) | (yyvsp[0].ParamAttrs));
               ;}
     break;
 
-  case 93:
-#line 1122 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 90:
+#line 1122 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     { (yyval.ParamAttrs) = FunctionType::NoReturnAttribute; ;}
     break;
 
-  case 95:
-#line 1126 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 92:
+#line 1126 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     { (yyval.ParamAttrs) = FunctionType::NoAttributeSet; ;}
     break;
 
-  case 96:
-#line 1127 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 93:
+#line 1127 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
                 (yyval.ParamAttrs) = FunctionType::ParameterAttributes((yyvsp[-1].ParamAttrs) | (yyvsp[0].ParamAttrs));
               ;}
     break;
 
-  case 97:
-#line 1134 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 94:
+#line 1134 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     { (yyval.UIntVal) = 0; ;}
     break;
 
-  case 98:
-#line 1135 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 95:
+#line 1135 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
   (yyval.UIntVal) = (yyvsp[0].UInt64Val);
   if ((yyval.UIntVal) != 0 && !isPowerOf2_32((yyval.UIntVal)))
@@ -3355,13 +3326,13 @@
 ;}
     break;
 
-  case 99:
-#line 1141 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 96:
+#line 1141 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     { (yyval.UIntVal) = 0; ;}
     break;
 
-  case 100:
-#line 1142 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 97:
+#line 1142 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
   (yyval.UIntVal) = (yyvsp[0].UInt64Val);
   if ((yyval.UIntVal) != 0 && !isPowerOf2_32((yyval.UIntVal)))
@@ -3370,8 +3341,8 @@
 ;}
     break;
 
-  case 101:
-#line 1150 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 98:
+#line 1150 "/proj/llvm/llvm-1/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] == '\\')
@@ -3381,28 +3352,28 @@
 ;}
     break;
 
-  case 102:
-#line 1158 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 99:
+#line 1158 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     { (yyval.StrVal) = 0; ;}
     break;
 
-  case 103:
-#line 1159 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 100:
+#line 1159 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     { (yyval.StrVal) = (yyvsp[0].StrVal); ;}
     break;
 
-  case 104:
-#line 1164 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 101:
+#line 1164 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {;}
     break;
 
-  case 105:
-#line 1165 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 102:
+#line 1165 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {;}
     break;
 
-  case 106:
-#line 1166 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 103:
+#line 1166 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     CurGV->setSection((yyvsp[0].StrVal));
     free((yyvsp[0].StrVal));
@@ -3410,8 +3381,8 @@
   ;}
     break;
 
-  case 107:
-#line 1171 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 104:
+#line 1171 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[0].UInt64Val) != 0 && !isPowerOf2_32((yyvsp[0].UInt64Val)))
       GEN_ERROR("Alignment must be a power of two!");
@@ -3420,24 +3391,24 @@
   ;}
     break;
 
-  case 116:
-#line 1187 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 110:
+#line 1187 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.TypeVal) = new PATypeHolder(OpaqueType::get());
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 117:
-#line 1191 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 111:
+#line 1191 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.TypeVal) = new PATypeHolder((yyvsp[0].PrimType));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 118:
-#line 1195 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 112:
+#line 1195 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {                             // Pointer type?
     if (*(yyvsp[-1].TypeVal) == Type::LabelTy)
       GEN_ERROR("Cannot form a pointer to a basic block");
@@ -3447,8 +3418,8 @@
   ;}
     break;
 
-  case 119:
-#line 1202 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 113:
+#line 1202 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {            // Named types are also simple types...
     const Type* tmp = getTypeVal((yyvsp[0].ValIDVal));
     CHECK_FOR_ERROR
@@ -3456,8 +3427,8 @@
   ;}
     break;
 
-  case 120:
-#line 1207 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 114:
+#line 1207 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {                   // Type UpReference
     if ((yyvsp[0].UInt64Val) > (uint64_t)~0U) GEN_ERROR("Value out of range!");
     OpaqueType *OT = OpaqueType::get();        // Use temporary placeholder
@@ -3468,8 +3439,8 @@
   ;}
     break;
 
-  case 121:
-#line 1215 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 115:
+#line 1215 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     std::vector<const Type*> Params;
     std::vector<FunctionType::ParameterAttributes> Attrs;
@@ -3490,8 +3461,8 @@
   ;}
     break;
 
-  case 122:
-#line 1233 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 116:
+#line 1233 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     std::vector<const Type*> Params;
     std::vector<FunctionType::ParameterAttributes> Attrs;
@@ -3511,8 +3482,8 @@
   ;}
     break;
 
-  case 123:
-#line 1251 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 117:
+#line 1251 "/proj/llvm/llvm-1/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);
@@ -3520,14 +3491,14 @@
   ;}
     break;
 
-  case 124:
-#line 1256 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 118:
+#line 1256 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {          // Packed array type?
      const llvm::Type* ElemTy = (yyvsp[-1].TypeVal)->get();
      if ((unsigned)(yyvsp[-3].UInt64Val) != (yyvsp[-3].UInt64Val))
         GEN_ERROR("Unsigned result not equal to signed result");
-     if (!ElemTy->isPrimitiveType())
-        GEN_ERROR("Elemental type of a PackedType must be primitive");
+     if (!ElemTy->isFloatingPoint() && !ElemTy->isInteger())
+        GEN_ERROR("Element type of a PackedType must be primitive");
      if (!isPowerOf2_32((yyvsp[-3].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))));
@@ -3536,8 +3507,8 @@
   ;}
     break;
 
-  case 125:
-#line 1268 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 119:
+#line 1268 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {                        // Structure type?
     std::vector<const Type*> Elements;
     for (std::list<llvm::PATypeHolder>::iterator I = (yyvsp[-1].TypeList)->begin(),
@@ -3550,16 +3521,16 @@
   ;}
     break;
 
-  case 126:
-#line 1278 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 120:
+#line 1278 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {                                  // Empty structure type?
     (yyval.TypeVal) = new PATypeHolder(StructType::get(std::vector<const Type*>()));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 127:
-#line 1282 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 121:
+#line 1282 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     std::vector<const Type*> Elements;
     for (std::list<llvm::PATypeHolder>::iterator I = (yyvsp[-2].TypeList)->begin(),
@@ -3572,24 +3543,24 @@
   ;}
     break;
 
-  case 128:
-#line 1292 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 122:
+#line 1292 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {                         // Empty structure type?
     (yyval.TypeVal) = new PATypeHolder(StructType::get(std::vector<const Type*>(), true));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 129:
-#line 1299 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 123:
+#line 1299 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     { 
     (yyval.TypeWithAttrs).Ty = (yyvsp[-1].TypeVal); 
     (yyval.TypeWithAttrs).Attrs = (yyvsp[0].ParamAttrs); 
   ;}
     break;
 
-  case 130:
-#line 1306 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 124:
+#line 1306 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[0].TypeVal))->getDescription());
@@ -3599,15 +3570,15 @@
   ;}
     break;
 
-  case 131:
-#line 1313 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 125:
+#line 1313 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.TypeVal) = new PATypeHolder(Type::VoidTy);
   ;}
     break;
 
-  case 132:
-#line 1318 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 126:
+#line 1318 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.TypeWithAttrsList) = new TypeWithAttrsList();
     (yyval.TypeWithAttrsList)->push_back((yyvsp[0].TypeWithAttrs));
@@ -3615,16 +3586,16 @@
   ;}
     break;
 
-  case 133:
-#line 1323 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 127:
+#line 1323 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     ((yyval.TypeWithAttrsList)=(yyvsp[-2].TypeWithAttrsList))->push_back((yyvsp[0].TypeWithAttrs));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 135:
-#line 1331 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 129:
+#line 1331 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.TypeWithAttrsList)=(yyvsp[-2].TypeWithAttrsList);
     TypeWithAttrs TWA; TWA.Attrs = FunctionType::NoAttributeSet;
@@ -3634,8 +3605,8 @@
   ;}
     break;
 
-  case 136:
-#line 1338 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 130:
+#line 1338 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.TypeWithAttrsList) = new TypeWithAttrsList;
     TypeWithAttrs TWA; TWA.Attrs = FunctionType::NoAttributeSet;
@@ -3645,16 +3616,16 @@
   ;}
     break;
 
-  case 137:
-#line 1345 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 131:
+#line 1345 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.TypeWithAttrsList) = new TypeWithAttrsList();
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 138:
-#line 1353 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 132:
+#line 1353 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.TypeList) = new std::list<PATypeHolder>();
     (yyval.TypeList)->push_back(*(yyvsp[0].TypeVal)); delete (yyvsp[0].TypeVal);
@@ -3662,16 +3633,16 @@
   ;}
     break;
 
-  case 139:
-#line 1358 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 133:
+#line 1358 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     ((yyval.TypeList)=(yyvsp[-2].TypeList))->push_back(*(yyvsp[0].TypeVal)); delete (yyvsp[0].TypeVal);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 140:
-#line 1369 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 134:
+#line 1369 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     { // Nonempty unsized arr
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-3].TypeVal))->getDescription());
@@ -3702,8 +3673,8 @@
   ;}
     break;
 
-  case 141:
-#line 1397 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 135:
+#line 1397 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-2].TypeVal))->getDescription());
@@ -3722,8 +3693,8 @@
   ;}
     break;
 
-  case 142:
-#line 1413 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 136:
+#line 1413 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-2].TypeVal))->getDescription());
@@ -3755,8 +3726,8 @@
   ;}
     break;
 
-  case 143:
-#line 1442 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 137:
+#line 1442 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     { // Nonempty unsized arr
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-3].TypeVal))->getDescription());
@@ -3787,8 +3758,8 @@
   ;}
     break;
 
-  case 144:
-#line 1470 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 138:
+#line 1470 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     const StructType *STy = dyn_cast<StructType>((yyvsp[-3].TypeVal)->get());
     if (STy == 0)
@@ -3816,8 +3787,8 @@
   ;}
     break;
 
-  case 145:
-#line 1495 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 139:
+#line 1495 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-2].TypeVal))->getDescription());
@@ -3839,8 +3810,8 @@
   ;}
     break;
 
-  case 146:
-#line 1514 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 140:
+#line 1514 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     const StructType *STy = dyn_cast<StructType>((yyvsp[-5].TypeVal)->get());
     if (STy == 0)
@@ -3868,8 +3839,8 @@
   ;}
     break;
 
-  case 147:
-#line 1539 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 141:
+#line 1539 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-4].TypeVal))->getDescription());
@@ -3891,8 +3862,8 @@
   ;}
     break;
 
-  case 148:
-#line 1558 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 142:
+#line 1558 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
@@ -3907,8 +3878,8 @@
   ;}
     break;
 
-  case 149:
-#line 1570 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 143:
+#line 1570 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
@@ -3918,8 +3889,8 @@
   ;}
     break;
 
-  case 150:
-#line 1577 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 144:
+#line 1577 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
@@ -3985,8 +3956,8 @@
   ;}
     break;
 
-  case 151:
-#line 1640 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 145:
+#line 1640 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
@@ -3999,8 +3970,8 @@
   ;}
     break;
 
-  case 152:
-#line 1650 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 146:
+#line 1650 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
@@ -4013,8 +3984,8 @@
   ;}
     break;
 
-  case 153:
-#line 1660 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 147:
+#line 1660 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {      // integral constants
     if (!ConstantInt::isValueValidForType((yyvsp[-1].PrimType), (yyvsp[0].SInt64Val)))
       GEN_ERROR("Constant value doesn't fit in type!");
@@ -4023,8 +3994,8 @@
   ;}
     break;
 
-  case 154:
-#line 1666 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 148:
+#line 1666 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {      // integral constants
     if (!ConstantInt::isValueValidForType((yyvsp[-1].PrimType), (yyvsp[0].UInt64Val)))
       GEN_ERROR("Constant value doesn't fit in type!");
@@ -4033,24 +4004,24 @@
   ;}
     break;
 
-  case 155:
-#line 1672 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 149:
+#line 1672 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {                      // Boolean constants
     (yyval.ConstVal) = ConstantInt::getTrue();
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 156:
-#line 1676 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 150:
+#line 1676 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {                     // Boolean constants
     (yyval.ConstVal) = ConstantInt::getFalse();
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 157:
-#line 1680 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 151:
+#line 1680 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {                   // Float & Double constants
     if (!ConstantFP::isValueValidForType((yyvsp[-1].PrimType), (yyvsp[0].FPVal)))
       GEN_ERROR("Floating point constant invalid for type!!");
@@ -4059,8 +4030,8 @@
   ;}
     break;
 
-  case 158:
-#line 1688 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 152:
+#line 1688 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
@@ -4077,8 +4048,8 @@
   ;}
     break;
 
-  case 159:
-#line 1702 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 153:
+#line 1702 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     if (!isa<PointerType>((yyvsp[-2].ConstVal)->getType()))
       GEN_ERROR("GetElementPtr requires a pointer operand!");
@@ -4102,8 +4073,8 @@
   ;}
     break;
 
-  case 160:
-#line 1723 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 154:
+#line 1723 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[-5].ConstVal)->getType() != Type::Int1Ty)
       GEN_ERROR("Select condition must be of boolean type!");
@@ -4114,8 +4085,8 @@
   ;}
     break;
 
-  case 161:
-#line 1731 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 155:
+#line 1731 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[-3].ConstVal)->getType() != (yyvsp[-1].ConstVal)->getType())
       GEN_ERROR("Binary operator types must match!");
@@ -4124,8 +4095,8 @@
   ;}
     break;
 
-  case 162:
-#line 1737 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 156:
+#line 1737 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[-3].ConstVal)->getType() != (yyvsp[-1].ConstVal)->getType())
       GEN_ERROR("Logical operator types must match!");
@@ -4139,8 +4110,8 @@
   ;}
     break;
 
-  case 163:
-#line 1748 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 157:
+#line 1748 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[-3].ConstVal)->getType() != (yyvsp[-1].ConstVal)->getType())
       GEN_ERROR("icmp operand types must match!");
@@ -4148,8 +4119,8 @@
   ;}
     break;
 
-  case 164:
-#line 1753 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 158:
+#line 1753 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[-3].ConstVal)->getType() != (yyvsp[-1].ConstVal)->getType())
       GEN_ERROR("fcmp operand types must match!");
@@ -4157,8 +4128,8 @@
   ;}
     break;
 
-  case 165:
-#line 1758 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 159:
+#line 1758 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[-1].ConstVal)->getType() != Type::Int8Ty)
       GEN_ERROR("Shift count for shift constant must be i8 type!");
@@ -4170,8 +4141,8 @@
   ;}
     break;
 
-  case 166:
-#line 1767 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 160:
+#line 1767 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     if (!ExtractElementInst::isValidOperands((yyvsp[-3].ConstVal), (yyvsp[-1].ConstVal)))
       GEN_ERROR("Invalid extractelement operands!");
@@ -4180,8 +4151,8 @@
   ;}
     break;
 
-  case 167:
-#line 1773 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 161:
+#line 1773 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     if (!InsertElementInst::isValidOperands((yyvsp[-5].ConstVal), (yyvsp[-3].ConstVal), (yyvsp[-1].ConstVal)))
       GEN_ERROR("Invalid insertelement operands!");
@@ -4190,8 +4161,8 @@
   ;}
     break;
 
-  case 168:
-#line 1779 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 162:
+#line 1779 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     if (!ShuffleVectorInst::isValidOperands((yyvsp[-5].ConstVal), (yyvsp[-3].ConstVal), (yyvsp[-1].ConstVal)))
       GEN_ERROR("Invalid shufflevector operands!");
@@ -4200,16 +4171,16 @@
   ;}
     break;
 
-  case 169:
-#line 1788 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 163:
+#line 1788 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     ((yyval.ConstVector) = (yyvsp[-2].ConstVector))->push_back((yyvsp[0].ConstVal));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 170:
-#line 1792 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 164:
+#line 1792 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ConstVector) = new std::vector<Constant*>();
     (yyval.ConstVector)->push_back((yyvsp[0].ConstVal));
@@ -4217,18 +4188,18 @@
   ;}
     break;
 
-  case 171:
-#line 1800 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 165:
+#line 1800 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     { (yyval.BoolVal) = false; ;}
     break;
 
-  case 172:
-#line 1800 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 166:
+#line 1800 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     { (yyval.BoolVal) = true; ;}
     break;
 
-  case 173:
-#line 1811 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 167:
+#line 1811 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ModuleVal) = ParserResult = CurModule.CurrentModule;
     CurModule.ModuleDone();
@@ -4236,8 +4207,8 @@
   ;}
     break;
 
-  case 174:
-#line 1816 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 168:
+#line 1816 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ModuleVal) = ParserResult = CurModule.CurrentModule;
     CurModule.ModuleDone();
@@ -4245,40 +4216,40 @@
   ;}
     break;
 
-  case 177:
-#line 1829 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 171:
+#line 1829 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     { CurFun.isDeclare = false ;}
     break;
 
-  case 178:
-#line 1829 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 172:
+#line 1829 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     CurFun.FunctionDone();
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 179:
-#line 1833 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 173:
+#line 1833 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     { CurFun.isDeclare = true; ;}
     break;
 
-  case 180:
-#line 1833 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 174:
+#line 1833 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 181:
-#line 1836 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 175:
+#line 1836 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 182:
-#line 1839 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 176:
+#line 1839 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     // Emit an error if there are any unresolved types left.
     if (!CurModule.LateResolveTypes.empty()) {
@@ -4293,8 +4264,8 @@
   ;}
     break;
 
-  case 183:
-#line 1851 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 177:
+#line 1851 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[0].TypeVal))->getDescription());
@@ -4321,8 +4292,8 @@
   ;}
     break;
 
-  case 184:
-#line 1875 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 178:
+#line 1875 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     ResolveTypeTo((yyvsp[-2].StrVal), (yyvsp[0].PrimType));
 
@@ -4336,8 +4307,8 @@
   ;}
     break;
 
-  case 185:
-#line 1886 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 179:
+#line 1886 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     { /* "Externally Visible" Linkage */
     if ((yyvsp[0].ConstVal) == 0) 
       GEN_ERROR("Global value initializer is not a constant!");
@@ -4347,15 +4318,15 @@
   ;}
     break;
 
-  case 186:
-#line 1892 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 180:
+#line 1892 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     CurGV = 0;
   ;}
     break;
 
-  case 187:
-#line 1895 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 181:
+#line 1895 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[0].ConstVal) == 0) 
       GEN_ERROR("Global value initializer is not a constant!");
@@ -4364,15 +4335,15 @@
   ;}
     break;
 
-  case 188:
-#line 1900 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 182:
+#line 1900 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     CurGV = 0;
   ;}
     break;
 
-  case 189:
-#line 1903 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 183:
+#line 1903 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[0].TypeVal))->getDescription());
@@ -4382,30 +4353,30 @@
   ;}
     break;
 
-  case 190:
-#line 1909 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 184:
+#line 1909 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     CurGV = 0;
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 191:
-#line 1913 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 185:
+#line 1913 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     { 
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 192:
-#line 1916 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 186:
+#line 1916 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 193:
-#line 1922 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 187:
+#line 1922 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
   const std::string &AsmSoFar = CurModule.CurrentModule->getModuleInlineAsm();
   char *EndStr = UnEscapeLexed((yyvsp[0].StrVal), true);
@@ -4420,26 +4391,26 @@
 ;}
     break;
 
-  case 194:
-#line 1935 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 188:
+#line 1935 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Endianness) = Module::BigEndian; ;}
     break;
 
-  case 195:
-#line 1936 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 189:
+#line 1936 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Endianness) = Module::LittleEndian; ;}
     break;
 
-  case 196:
-#line 1938 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 190:
+#line 1938 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     CurModule.CurrentModule->setEndianness((yyvsp[0].Endianness));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 197:
-#line 1942 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 191:
+#line 1942 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[0].UInt64Val) == 32)
       CurModule.CurrentModule->setPointerSize(Module::Pointer32);
@@ -4451,24 +4422,24 @@
   ;}
     break;
 
-  case 198:
-#line 1951 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 192:
+#line 1951 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     CurModule.CurrentModule->setTargetTriple((yyvsp[0].StrVal));
     free((yyvsp[0].StrVal));
   ;}
     break;
 
-  case 199:
-#line 1955 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 193:
+#line 1955 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     CurModule.CurrentModule->setDataLayout((yyvsp[0].StrVal));
     free((yyvsp[0].StrVal));
   ;}
     break;
 
-  case 201:
-#line 1962 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 195:
+#line 1962 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
           CurModule.CurrentModule->addLibrary((yyvsp[0].StrVal));
           free((yyvsp[0].StrVal));
@@ -4476,8 +4447,8 @@
         ;}
     break;
 
-  case 202:
-#line 1967 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 196:
+#line 1967 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
           CurModule.CurrentModule->addLibrary((yyvsp[0].StrVal));
           free((yyvsp[0].StrVal));
@@ -4485,20 +4456,20 @@
         ;}
     break;
 
-  case 203:
-#line 1972 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 197:
+#line 1972 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
           CHECK_FOR_ERROR
         ;}
     break;
 
-  case 207:
-#line 1982 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 201:
+#line 1982 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     { (yyval.StrVal) = 0; ;}
     break;
 
-  case 208:
-#line 1984 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 202:
+#line 1984 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-2].TypeVal))->getDescription());
@@ -4511,8 +4482,8 @@
   ;}
     break;
 
-  case 209:
-#line 1994 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 203:
+#line 1994 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-2].TypeVal))->getDescription());
@@ -4525,16 +4496,16 @@
   ;}
     break;
 
-  case 210:
-#line 2005 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 204:
+#line 2005 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ArgList) = (yyvsp[0].ArgList);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 211:
-#line 2009 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 205:
+#line 2009 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ArgList) = (yyvsp[-2].ArgList);
     struct ArgListEntry E;
@@ -4546,8 +4517,8 @@
   ;}
     break;
 
-  case 212:
-#line 2018 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 206:
+#line 2018 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ArgList) = new ArgListType;
     struct ArgListEntry E;
@@ -4559,16 +4530,16 @@
   ;}
     break;
 
-  case 213:
-#line 2027 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 207:
+#line 2027 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ArgList) = 0;
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 214:
-#line 2033 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 208:
+#line 2033 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
   UnEscapeLexed((yyvsp[-6].StrVal));
   std::string FunctionName((yyvsp[-6].StrVal));
@@ -4674,8 +4645,8 @@
 ;}
     break;
 
-  case 217:
-#line 2139 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 211:
+#line 2139 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
   (yyval.FunctionVal) = CurFun.CurrentFunction;
 
@@ -4685,16 +4656,16 @@
 ;}
     break;
 
-  case 220:
-#line 2149 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 214:
+#line 2149 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
   (yyval.FunctionVal) = (yyvsp[-1].FunctionVal);
   CHECK_FOR_ERROR
 ;}
     break;
 
-  case 221:
-#line 2154 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 215:
+#line 2154 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     CurFun.CurrentFunction->setLinkage((yyvsp[-1].Linkage));
     (yyval.FunctionVal) = CurFun.CurrentFunction;
@@ -4703,88 +4674,88 @@
   ;}
     break;
 
-  case 222:
-#line 2165 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 216:
+#line 2165 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.BoolVal) = false;
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 223:
-#line 2169 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 217:
+#line 2169 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.BoolVal) = true;
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 224:
-#line 2174 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 218:
+#line 2174 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {    // A reference to a direct constant
     (yyval.ValIDVal) = ValID::create((yyvsp[0].SInt64Val));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 225:
-#line 2178 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 219:
+#line 2178 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ValIDVal) = ValID::create((yyvsp[0].UInt64Val));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 226:
-#line 2182 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 220:
+#line 2182 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {                     // Perhaps it's an FP constant?
     (yyval.ValIDVal) = ValID::create((yyvsp[0].FPVal));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 227:
-#line 2186 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 221:
+#line 2186 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ValIDVal) = ValID::create(ConstantInt::getTrue());
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 228:
-#line 2190 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 222:
+#line 2190 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ValIDVal) = ValID::create(ConstantInt::getFalse());
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 229:
-#line 2194 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 223:
+#line 2194 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ValIDVal) = ValID::createNull();
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 230:
-#line 2198 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 224:
+#line 2198 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ValIDVal) = ValID::createUndef();
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 231:
-#line 2202 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 225:
+#line 2202 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {     // A vector zero constant.
     (yyval.ValIDVal) = ValID::createZeroInit();
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 232:
-#line 2206 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 226:
+#line 2206 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     { // Nonempty unsized packed vector
     const Type *ETy = (*(yyvsp[-1].ConstVector))[0]->getType();
     int NumElements = (yyvsp[-1].ConstVector)->size(); 
@@ -4812,16 +4783,16 @@
   ;}
     break;
 
-  case 233:
-#line 2231 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 227:
+#line 2231 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ValIDVal) = ValID::create((yyvsp[0].ConstVal));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 234:
-#line 2235 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 228:
+#line 2235 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     char *End = UnEscapeLexed((yyvsp[-2].StrVal), true);
     std::string AsmStr = std::string((yyvsp[-2].StrVal), End);
@@ -4834,24 +4805,24 @@
   ;}
     break;
 
-  case 235:
-#line 2249 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 229:
+#line 2249 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {  // Is it an integer reference...?
     (yyval.ValIDVal) = ValID::create((yyvsp[0].SIntVal));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 236:
-#line 2253 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 230:
+#line 2253 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {                   // Is it a named reference...?
     (yyval.ValIDVal) = ValID::create((yyvsp[0].StrVal));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 239:
-#line 2265 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 233:
+#line 2265 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
@@ -4861,24 +4832,24 @@
   ;}
     break;
 
-  case 240:
-#line 2274 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 234:
+#line 2274 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.FunctionVal) = (yyvsp[-1].FunctionVal);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 241:
-#line 2278 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 235:
+#line 2278 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     { // Do not allow functions with 0 basic blocks   
     (yyval.FunctionVal) = (yyvsp[-1].FunctionVal);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 242:
-#line 2287 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 236:
+#line 2287 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     setValueName((yyvsp[0].TermInstVal), (yyvsp[-1].StrVal));
     CHECK_FOR_ERROR
@@ -4891,8 +4862,8 @@
   ;}
     break;
 
-  case 243:
-#line 2298 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 237:
+#line 2298 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     if (CastInst *CI1 = dyn_cast<CastInst>((yyvsp[0].InstVal)))
       if (CastInst *CI2 = dyn_cast<CastInst>(CI1->getOperand(0)))
@@ -4904,8 +4875,8 @@
   ;}
     break;
 
-  case 244:
-#line 2307 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 238:
+#line 2307 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.BasicBlockVal) = getBBVal(ValID::create((int)CurFun.NextBBNum++), true);
     CHECK_FOR_ERROR
@@ -4920,8 +4891,8 @@
   ;}
     break;
 
-  case 245:
-#line 2319 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 239:
+#line 2319 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.BasicBlockVal) = getBBVal(ValID::create((yyvsp[0].StrVal)), true);
     CHECK_FOR_ERROR
@@ -4936,24 +4907,24 @@
   ;}
     break;
 
-  case 246:
-#line 2332 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 240:
+#line 2332 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {              // Return with a result...
     (yyval.TermInstVal) = new ReturnInst((yyvsp[0].ValueVal));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 247:
-#line 2336 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 241:
+#line 2336 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {                                       // Return with no result...
     (yyval.TermInstVal) = new ReturnInst();
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 248:
-#line 2340 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 242:
+#line 2340 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {                         // Unconditional Branch...
     BasicBlock* tmpBB = getBBVal((yyvsp[0].ValIDVal));
     CHECK_FOR_ERROR
@@ -4961,8 +4932,8 @@
   ;}
     break;
 
-  case 249:
-#line 2345 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 243:
+#line 2345 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {  
     BasicBlock* tmpBBA = getBBVal((yyvsp[-3].ValIDVal));
     CHECK_FOR_ERROR
@@ -4974,8 +4945,8 @@
   ;}
     break;
 
-  case 250:
-#line 2354 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 244:
+#line 2354 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     Value* tmpVal = getVal((yyvsp[-7].PrimType), (yyvsp[-6].ValIDVal));
     CHECK_FOR_ERROR
@@ -4997,8 +4968,8 @@
   ;}
     break;
 
-  case 251:
-#line 2373 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 245:
+#line 2373 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     Value* tmpVal = getVal((yyvsp[-6].PrimType), (yyvsp[-5].ValIDVal));
     CHECK_FOR_ERROR
@@ -5010,8 +4981,8 @@
   ;}
     break;
 
-  case 252:
-#line 2383 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 246:
+#line 2383 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
 
     // Handle the short syntax
@@ -5080,24 +5051,24 @@
   ;}
     break;
 
-  case 253:
-#line 2449 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 247:
+#line 2449 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.TermInstVal) = new UnwindInst();
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 254:
-#line 2453 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 248:
+#line 2453 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.TermInstVal) = new UnreachableInst();
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 255:
-#line 2460 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 249:
+#line 2460 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.JumpTable) = (yyvsp[-5].JumpTable);
     Constant *V = cast<Constant>(getValNonImprovising((yyvsp[-4].PrimType), (yyvsp[-3].ValIDVal)));
@@ -5111,8 +5082,8 @@
   ;}
     break;
 
-  case 256:
-#line 2471 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 250:
+#line 2471 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.JumpTable) = new std::vector<std::pair<Constant*, BasicBlock*> >();
     Constant *V = cast<Constant>(getValNonImprovising((yyvsp[-4].PrimType), (yyvsp[-3].ValIDVal)));
@@ -5127,8 +5098,8 @@
   ;}
     break;
 
-  case 257:
-#line 2484 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 251:
+#line 2484 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
   // Is this definition named?? if so, assign the name...
   setValueName((yyvsp[0].InstVal), (yyvsp[-1].StrVal));
@@ -5139,8 +5110,8 @@
 ;}
     break;
 
-  case 258:
-#line 2493 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 252:
+#line 2493 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {    // Used for PHI nodes
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-5].TypeVal))->getDescription());
@@ -5154,8 +5125,8 @@
   ;}
     break;
 
-  case 259:
-#line 2504 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 253:
+#line 2504 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.PHIList) = (yyvsp[-6].PHIList);
     Value* tmpVal = getVal((yyvsp[-6].PHIList)->front().first->getType(), (yyvsp[-3].ValIDVal));
@@ -5166,8 +5137,8 @@
   ;}
     break;
 
-  case 260:
-#line 2514 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 254:
+#line 2514 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {    
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-2].TypeVal))->getDescription());
@@ -5178,8 +5149,8 @@
   ;}
     break;
 
-  case 261:
-#line 2522 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 255:
+#line 2522 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-2].TypeVal))->getDescription());
@@ -5190,18 +5161,18 @@
   ;}
     break;
 
-  case 262:
-#line 2530 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 256:
+#line 2530 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     { (yyval.ValueRefList) = new ValueRefList(); ;}
     break;
 
-  case 263:
-#line 2533 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 257:
+#line 2533 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     { (yyval.ValueList) = new std::vector<Value*>(); ;}
     break;
 
-  case 264:
-#line 2534 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 258:
+#line 2534 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ValueList) = (yyvsp[-2].ValueList);
     (yyval.ValueList)->push_back((yyvsp[0].ValueVal));
@@ -5209,24 +5180,24 @@
   ;}
     break;
 
-  case 265:
-#line 2541 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 259:
+#line 2541 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.BoolVal) = true;
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 266:
-#line 2545 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 260:
+#line 2545 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.BoolVal) = false;
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 267:
-#line 2550 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 261:
+#line 2550 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-3].TypeVal))->getDescription());
@@ -5250,8 +5221,8 @@
   ;}
     break;
 
-  case 268:
-#line 2571 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 262:
+#line 2571 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-3].TypeVal))->getDescription());
@@ -5271,8 +5242,8 @@
   ;}
     break;
 
-  case 269:
-#line 2588 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 263:
+#line 2588 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-3].TypeVal))->getDescription());
@@ -5288,8 +5259,8 @@
   ;}
     break;
 
-  case 270:
-#line 2601 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 264:
+#line 2601 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-3].TypeVal))->getDescription());
@@ -5305,8 +5276,8 @@
   ;}
     break;
 
-  case 271:
-#line 2614 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 265:
+#line 2614 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     cerr << "WARNING: Use of eliminated 'not' instruction:"
          << " Replacing with 'xor'.\n";
@@ -5322,8 +5293,8 @@
   ;}
     break;
 
-  case 272:
-#line 2627 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 266:
+#line 2627 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[0].ValueVal)->getType() != Type::Int8Ty)
       GEN_ERROR("Shift amount must be i8 type!");
@@ -5335,8 +5306,8 @@
   ;}
     break;
 
-  case 273:
-#line 2636 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 267:
+#line 2636 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[0].TypeVal))->getDescription());
@@ -5352,8 +5323,8 @@
   ;}
     break;
 
-  case 274:
-#line 2649 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 268:
+#line 2649 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[-4].ValueVal)->getType() != Type::Int1Ty)
       GEN_ERROR("select condition must be boolean!");
@@ -5364,8 +5335,8 @@
   ;}
     break;
 
-  case 275:
-#line 2657 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 269:
+#line 2657 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[0].TypeVal))->getDescription());
@@ -5375,8 +5346,8 @@
   ;}
     break;
 
-  case 276:
-#line 2664 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 270:
+#line 2664 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     if (!ExtractElementInst::isValidOperands((yyvsp[-2].ValueVal), (yyvsp[0].ValueVal)))
       GEN_ERROR("Invalid extractelement operands!");
@@ -5385,8 +5356,8 @@
   ;}
     break;
 
-  case 277:
-#line 2670 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 271:
+#line 2670 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     if (!InsertElementInst::isValidOperands((yyvsp[-4].ValueVal), (yyvsp[-2].ValueVal), (yyvsp[0].ValueVal)))
       GEN_ERROR("Invalid insertelement operands!");
@@ -5395,8 +5366,8 @@
   ;}
     break;
 
-  case 278:
-#line 2676 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 272:
+#line 2676 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     if (!ShuffleVectorInst::isValidOperands((yyvsp[-4].ValueVal), (yyvsp[-2].ValueVal), (yyvsp[0].ValueVal)))
       GEN_ERROR("Invalid shufflevector operands!");
@@ -5405,8 +5376,8 @@
   ;}
     break;
 
-  case 279:
-#line 2682 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 273:
+#line 2682 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     const Type *Ty = (yyvsp[0].PHIList)->front().first->getType();
     if (!Ty->isFirstClassType())
@@ -5424,8 +5395,8 @@
   ;}
     break;
 
-  case 280:
-#line 2698 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 274:
+#line 2698 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
 
     // Handle the short syntax
@@ -5490,32 +5461,32 @@
   ;}
     break;
 
-  case 281:
-#line 2760 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 275:
+#line 2760 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.InstVal) = (yyvsp[0].InstVal);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 282:
-#line 2765 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 276:
+#line 2765 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.BoolVal) = true;
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 283:
-#line 2769 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 277:
+#line 2769 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.BoolVal) = false;
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 284:
-#line 2776 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 278:
+#line 2776 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
@@ -5525,8 +5496,8 @@
   ;}
     break;
 
-  case 285:
-#line 2783 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 279:
+#line 2783 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-4].TypeVal))->getDescription());
@@ -5537,8 +5508,8 @@
   ;}
     break;
 
-  case 286:
-#line 2791 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 280:
+#line 2791 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
@@ -5548,8 +5519,8 @@
   ;}
     break;
 
-  case 287:
-#line 2798 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 281:
+#line 2798 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-4].TypeVal))->getDescription());
@@ -5560,8 +5531,8 @@
   ;}
     break;
 
-  case 288:
-#line 2806 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 282:
+#line 2806 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     if (!isa<PointerType>((yyvsp[0].ValueVal)->getType()))
       GEN_ERROR("Trying to free nonpointer type " + 
@@ -5571,8 +5542,8 @@
   ;}
     break;
 
-  case 289:
-#line 2814 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 283:
+#line 2814 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
@@ -5589,8 +5560,8 @@
   ;}
     break;
 
-  case 290:
-#line 2828 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 284:
+#line 2828 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
@@ -5610,8 +5581,8 @@
   ;}
     break;
 
-  case 291:
-#line 2845 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 285:
+#line 2845 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-2].TypeVal))->getDescription());
@@ -5634,7 +5605,7 @@
     }
 
 /* Line 1126 of yacc.c.  */
-#line 5638 "llvmAsmParser.tab.c"
+#line 5609 "llvmAsmParser.tab.c"
 
   yyvsp -= yylen;
   yyssp -= yylen;
@@ -5902,7 +5873,7 @@
 }
 
 
-#line 2862 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2862 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
 
 
 // common code from the two 'RunVMAsmParser' functions


Index: llvm/lib/AsmParser/llvmAsmParser.h.cvs
diff -u llvm/lib/AsmParser/llvmAsmParser.h.cvs:1.38 llvm/lib/AsmParser/llvmAsmParser.h.cvs:1.39
--- llvm/lib/AsmParser/llvmAsmParser.h.cvs:1.38	Thu Jan 11 12:21:28 2007
+++ llvm/lib/AsmParser/llvmAsmParser.h.cvs	Fri Jan 12 01:05:13 2007
@@ -36,132 +36,129 @@
      FPVAL = 262,
      VOID = 263,
      BOOL = 264,
-     INT8 = 265,
-     INT16 = 266,
-     INT32 = 267,
-     INT64 = 268,
-     FLOAT = 269,
-     DOUBLE = 270,
-     LABEL = 271,
-     TYPE = 272,
-     VAR_ID = 273,
-     LABELSTR = 274,
-     STRINGCONSTANT = 275,
-     IMPLEMENTATION = 276,
-     ZEROINITIALIZER = 277,
-     TRUETOK = 278,
-     FALSETOK = 279,
-     BEGINTOK = 280,
-     ENDTOK = 281,
-     DECLARE = 282,
-     DEFINE = 283,
-     GLOBAL = 284,
-     CONSTANT = 285,
-     SECTION = 286,
-     VOLATILE = 287,
-     TO = 288,
-     DOTDOTDOT = 289,
-     NULL_TOK = 290,
-     UNDEF = 291,
-     INTERNAL = 292,
-     LINKONCE = 293,
-     WEAK = 294,
-     APPENDING = 295,
-     DLLIMPORT = 296,
-     DLLEXPORT = 297,
-     EXTERN_WEAK = 298,
-     OPAQUE = 299,
-     NOT = 300,
-     EXTERNAL = 301,
-     TARGET = 302,
-     TRIPLE = 303,
-     ENDIAN = 304,
-     POINTERSIZE = 305,
-     LITTLE = 306,
-     BIG = 307,
-     ALIGN = 308,
-     DEPLIBS = 309,
-     CALL = 310,
-     TAIL = 311,
-     ASM_TOK = 312,
-     MODULE = 313,
-     SIDEEFFECT = 314,
-     CC_TOK = 315,
-     CCC_TOK = 316,
-     CSRETCC_TOK = 317,
-     FASTCC_TOK = 318,
-     COLDCC_TOK = 319,
-     X86_STDCALLCC_TOK = 320,
-     X86_FASTCALLCC_TOK = 321,
-     DATALAYOUT = 322,
-     RET = 323,
-     BR = 324,
-     SWITCH = 325,
-     INVOKE = 326,
-     UNWIND = 327,
-     UNREACHABLE = 328,
-     ADD = 329,
-     SUB = 330,
-     MUL = 331,
-     UDIV = 332,
-     SDIV = 333,
-     FDIV = 334,
-     UREM = 335,
-     SREM = 336,
-     FREM = 337,
-     AND = 338,
-     OR = 339,
-     XOR = 340,
-     ICMP = 341,
-     FCMP = 342,
-     EQ = 343,
-     NE = 344,
-     SLT = 345,
-     SGT = 346,
-     SLE = 347,
-     SGE = 348,
-     ULT = 349,
-     UGT = 350,
-     ULE = 351,
-     UGE = 352,
-     OEQ = 353,
-     ONE = 354,
-     OLT = 355,
-     OGT = 356,
-     OLE = 357,
-     OGE = 358,
-     ORD = 359,
-     UNO = 360,
-     UEQ = 361,
-     UNE = 362,
-     MALLOC = 363,
-     ALLOCA = 364,
-     FREE = 365,
-     LOAD = 366,
-     STORE = 367,
-     GETELEMENTPTR = 368,
-     TRUNC = 369,
-     ZEXT = 370,
-     SEXT = 371,
-     FPTRUNC = 372,
-     FPEXT = 373,
-     BITCAST = 374,
-     UITOFP = 375,
-     SITOFP = 376,
-     FPTOUI = 377,
-     FPTOSI = 378,
-     INTTOPTR = 379,
-     PTRTOINT = 380,
-     PHI_TOK = 381,
-     SELECT = 382,
-     SHL = 383,
-     LSHR = 384,
-     ASHR = 385,
-     VAARG = 386,
-     EXTRACTELEMENT = 387,
-     INSERTELEMENT = 388,
-     SHUFFLEVECTOR = 389,
-     NORETURN = 390
+     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,
+     NOT = 297,
+     EXTERNAL = 298,
+     TARGET = 299,
+     TRIPLE = 300,
+     ENDIAN = 301,
+     POINTERSIZE = 302,
+     LITTLE = 303,
+     BIG = 304,
+     ALIGN = 305,
+     DEPLIBS = 306,
+     CALL = 307,
+     TAIL = 308,
+     ASM_TOK = 309,
+     MODULE = 310,
+     SIDEEFFECT = 311,
+     CC_TOK = 312,
+     CCC_TOK = 313,
+     CSRETCC_TOK = 314,
+     FASTCC_TOK = 315,
+     COLDCC_TOK = 316,
+     X86_STDCALLCC_TOK = 317,
+     X86_FASTCALLCC_TOK = 318,
+     DATALAYOUT = 319,
+     RET = 320,
+     BR = 321,
+     SWITCH = 322,
+     INVOKE = 323,
+     UNWIND = 324,
+     UNREACHABLE = 325,
+     ADD = 326,
+     SUB = 327,
+     MUL = 328,
+     UDIV = 329,
+     SDIV = 330,
+     FDIV = 331,
+     UREM = 332,
+     SREM = 333,
+     FREM = 334,
+     AND = 335,
+     OR = 336,
+     XOR = 337,
+     ICMP = 338,
+     FCMP = 339,
+     EQ = 340,
+     NE = 341,
+     SLT = 342,
+     SGT = 343,
+     SLE = 344,
+     SGE = 345,
+     ULT = 346,
+     UGT = 347,
+     ULE = 348,
+     UGE = 349,
+     OEQ = 350,
+     ONE = 351,
+     OLT = 352,
+     OGT = 353,
+     OLE = 354,
+     OGE = 355,
+     ORD = 356,
+     UNO = 357,
+     UEQ = 358,
+     UNE = 359,
+     MALLOC = 360,
+     ALLOCA = 361,
+     FREE = 362,
+     LOAD = 363,
+     STORE = 364,
+     GETELEMENTPTR = 365,
+     TRUNC = 366,
+     ZEXT = 367,
+     SEXT = 368,
+     FPTRUNC = 369,
+     FPEXT = 370,
+     BITCAST = 371,
+     UITOFP = 372,
+     SITOFP = 373,
+     FPTOUI = 374,
+     FPTOSI = 375,
+     INTTOPTR = 376,
+     PTRTOINT = 377,
+     PHI_TOK = 378,
+     SELECT = 379,
+     SHL = 380,
+     LSHR = 381,
+     ASHR = 382,
+     VAARG = 383,
+     EXTRACTELEMENT = 384,
+     INSERTELEMENT = 385,
+     SHUFFLEVECTOR = 386,
+     NORETURN = 387
    };
 #endif
 /* Tokens.  */
@@ -172,138 +169,135 @@
 #define FPVAL 262
 #define VOID 263
 #define BOOL 264
-#define INT8 265
-#define INT16 266
-#define INT32 267
-#define INT64 268
-#define FLOAT 269
-#define DOUBLE 270
-#define LABEL 271
-#define TYPE 272
-#define VAR_ID 273
-#define LABELSTR 274
-#define STRINGCONSTANT 275
-#define IMPLEMENTATION 276
-#define ZEROINITIALIZER 277
-#define TRUETOK 278
-#define FALSETOK 279
-#define BEGINTOK 280
-#define ENDTOK 281
-#define DECLARE 282
-#define DEFINE 283
-#define GLOBAL 284
-#define CONSTANT 285
-#define SECTION 286
-#define VOLATILE 287
-#define TO 288
-#define DOTDOTDOT 289
-#define NULL_TOK 290
-#define UNDEF 291
-#define INTERNAL 292
-#define LINKONCE 293
-#define WEAK 294
-#define APPENDING 295
-#define DLLIMPORT 296
-#define DLLEXPORT 297
-#define EXTERN_WEAK 298
-#define OPAQUE 299
-#define NOT 300
-#define EXTERNAL 301
-#define TARGET 302
-#define TRIPLE 303
-#define ENDIAN 304
-#define POINTERSIZE 305
-#define LITTLE 306
-#define BIG 307
-#define ALIGN 308
-#define DEPLIBS 309
-#define CALL 310
-#define TAIL 311
-#define ASM_TOK 312
-#define MODULE 313
-#define SIDEEFFECT 314
-#define CC_TOK 315
-#define CCC_TOK 316
-#define CSRETCC_TOK 317
-#define FASTCC_TOK 318
-#define COLDCC_TOK 319
-#define X86_STDCALLCC_TOK 320
-#define X86_FASTCALLCC_TOK 321
-#define DATALAYOUT 322
-#define RET 323
-#define BR 324
-#define SWITCH 325
-#define INVOKE 326
-#define UNWIND 327
-#define UNREACHABLE 328
-#define ADD 329
-#define SUB 330
-#define MUL 331
-#define UDIV 332
-#define SDIV 333
-#define FDIV 334
-#define UREM 335
-#define SREM 336
-#define FREM 337
-#define AND 338
-#define OR 339
-#define XOR 340
-#define ICMP 341
-#define FCMP 342
-#define EQ 343
-#define NE 344
-#define SLT 345
-#define SGT 346
-#define SLE 347
-#define SGE 348
-#define ULT 349
-#define UGT 350
-#define ULE 351
-#define UGE 352
-#define OEQ 353
-#define ONE 354
-#define OLT 355
-#define OGT 356
-#define OLE 357
-#define OGE 358
-#define ORD 359
-#define UNO 360
-#define UEQ 361
-#define UNE 362
-#define MALLOC 363
-#define ALLOCA 364
-#define FREE 365
-#define LOAD 366
-#define STORE 367
-#define GETELEMENTPTR 368
-#define TRUNC 369
-#define ZEXT 370
-#define SEXT 371
-#define FPTRUNC 372
-#define FPEXT 373
-#define BITCAST 374
-#define UITOFP 375
-#define SITOFP 376
-#define FPTOUI 377
-#define FPTOSI 378
-#define INTTOPTR 379
-#define PTRTOINT 380
-#define PHI_TOK 381
-#define SELECT 382
-#define SHL 383
-#define LSHR 384
-#define ASHR 385
-#define VAARG 386
-#define EXTRACTELEMENT 387
-#define INSERTELEMENT 388
-#define SHUFFLEVECTOR 389
-#define NORETURN 390
+#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 NOT 297
+#define EXTERNAL 298
+#define TARGET 299
+#define TRIPLE 300
+#define ENDIAN 301
+#define POINTERSIZE 302
+#define LITTLE 303
+#define BIG 304
+#define ALIGN 305
+#define DEPLIBS 306
+#define CALL 307
+#define TAIL 308
+#define ASM_TOK 309
+#define MODULE 310
+#define SIDEEFFECT 311
+#define CC_TOK 312
+#define CCC_TOK 313
+#define CSRETCC_TOK 314
+#define FASTCC_TOK 315
+#define COLDCC_TOK 316
+#define X86_STDCALLCC_TOK 317
+#define X86_FASTCALLCC_TOK 318
+#define DATALAYOUT 319
+#define RET 320
+#define BR 321
+#define SWITCH 322
+#define INVOKE 323
+#define UNWIND 324
+#define UNREACHABLE 325
+#define ADD 326
+#define SUB 327
+#define MUL 328
+#define UDIV 329
+#define SDIV 330
+#define FDIV 331
+#define UREM 332
+#define SREM 333
+#define FREM 334
+#define AND 335
+#define OR 336
+#define XOR 337
+#define ICMP 338
+#define FCMP 339
+#define EQ 340
+#define NE 341
+#define SLT 342
+#define SGT 343
+#define SLE 344
+#define SGE 345
+#define ULT 346
+#define UGT 347
+#define ULE 348
+#define UGE 349
+#define OEQ 350
+#define ONE 351
+#define OLT 352
+#define OGT 353
+#define OLE 354
+#define OGE 355
+#define ORD 356
+#define UNO 357
+#define UEQ 358
+#define UNE 359
+#define MALLOC 360
+#define ALLOCA 361
+#define FREE 362
+#define LOAD 363
+#define STORE 364
+#define GETELEMENTPTR 365
+#define TRUNC 366
+#define ZEXT 367
+#define SEXT 368
+#define FPTRUNC 369
+#define FPEXT 370
+#define BITCAST 371
+#define UITOFP 372
+#define SITOFP 373
+#define FPTOUI 374
+#define FPTOSI 375
+#define INTTOPTR 376
+#define PTRTOINT 377
+#define PHI_TOK 378
+#define SELECT 379
+#define SHL 380
+#define LSHR 381
+#define ASHR 382
+#define VAARG 383
+#define EXTRACTELEMENT 384
+#define INSERTELEMENT 385
+#define SHUFFLEVECTOR 386
+#define NORETURN 387
 
 
 
 
 #if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
-#line 876 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 876 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
 typedef union YYSTYPE {
   llvm::Module                           *ModuleVal;
   llvm::Function                         *FunctionVal;
@@ -350,7 +344,7 @@
   llvm::FCmpInst::Predicate         FPredicate;
 } YYSTYPE;
 /* Line 1447 of yacc.c.  */
-#line 354 "llvmAsmParser.tab.h"
+#line 348 "llvmAsmParser.tab.h"
 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
 # define YYSTYPE_IS_DECLARED 1
 # define YYSTYPE_IS_TRIVIAL 1


Index: llvm/lib/AsmParser/llvmAsmParser.y
diff -u llvm/lib/AsmParser/llvmAsmParser.y:1.304 llvm/lib/AsmParser/llvmAsmParser.y:1.305
--- llvm/lib/AsmParser/llvmAsmParser.y:1.304	Thu Jan 11 12:21:28 2007
+++ llvm/lib/AsmParser/llvmAsmParser.y	Fri Jan 12 01:05:13 2007
@@ -961,7 +961,7 @@
 // Built in types...
 %type  <TypeVal> Types ResultTypes
 %type  <PrimType> IntType FPType PrimType           // Classifications
-%token <PrimType> VOID BOOL INT8 INT16 INT32 INT64
+%token <PrimType> VOID BOOL INTTYPE 
 %token <PrimType> FLOAT DOUBLE LABEL
 %token TYPE
 
@@ -1054,7 +1054,7 @@
 
 // These are some types that allow classification if we only want a particular 
 // thing... for example, only a signed, unsigned, or integral type.
-IntType :  INT64 | INT32 | INT16 | INT8;
+IntType :  INTTYPE;
 FPType   : FLOAT | DOUBLE;
 
 // OptAssign - Value producing statements have an optional assignment component
@@ -1181,7 +1181,7 @@
 
 // Derived types are added later...
 //
-PrimType : BOOL | INT8 | INT16  | INT32 | INT64 | FLOAT | DOUBLE | LABEL ;
+PrimType : BOOL | INTTYPE | FLOAT | DOUBLE | LABEL ;
 
 Types 
   : OPAQUE {
@@ -1257,8 +1257,8 @@
      const llvm::Type* ElemTy = $4->get();
      if ((unsigned)$2 != $2)
         GEN_ERROR("Unsigned result not equal to signed result");
-     if (!ElemTy->isPrimitiveType())
-        GEN_ERROR("Elemental type of a PackedType must be primitive");
+     if (!ElemTy->isFloatingPoint() && !ElemTy->isInteger())
+        GEN_ERROR("Element type of a PackedType must be primitive");
      if (!isPowerOf2_32($2))
        GEN_ERROR("Vector length should be a power of 2!");
      $$ = new PATypeHolder(HandleUpRefs(PackedType::get(*$4, (unsigned)$2)));
@@ -2780,7 +2780,7 @@
     delete $2;
     CHECK_FOR_ERROR
   }
-  | MALLOC Types ',' INT32 ValueRef OptCAlign {
+  | MALLOC Types ',' INTTYPE ValueRef OptCAlign {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*$2)->getDescription());
     Value* tmpVal = getVal($4, $5);
@@ -2795,7 +2795,7 @@
     delete $2;
     CHECK_FOR_ERROR
   }
-  | ALLOCA Types ',' INT32 ValueRef OptCAlign {
+  | ALLOCA Types ',' INTTYPE ValueRef OptCAlign {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*$2)->getDescription());
     Value* tmpVal = getVal($4, $5);


Index: llvm/lib/AsmParser/llvmAsmParser.y.cvs
diff -u llvm/lib/AsmParser/llvmAsmParser.y.cvs:1.50 llvm/lib/AsmParser/llvmAsmParser.y.cvs:1.51
--- llvm/lib/AsmParser/llvmAsmParser.y.cvs:1.50	Thu Jan 11 12:21:28 2007
+++ llvm/lib/AsmParser/llvmAsmParser.y.cvs	Fri Jan 12 01:05:13 2007
@@ -961,7 +961,7 @@
 // Built in types...
 %type  <TypeVal> Types ResultTypes
 %type  <PrimType> IntType FPType PrimType           // Classifications
-%token <PrimType> VOID BOOL INT8 INT16 INT32 INT64
+%token <PrimType> VOID BOOL INTTYPE 
 %token <PrimType> FLOAT DOUBLE LABEL
 %token TYPE
 
@@ -1054,7 +1054,7 @@
 
 // These are some types that allow classification if we only want a particular 
 // thing... for example, only a signed, unsigned, or integral type.
-IntType :  INT64 | INT32 | INT16 | INT8;
+IntType :  INTTYPE;
 FPType   : FLOAT | DOUBLE;
 
 // OptAssign - Value producing statements have an optional assignment component
@@ -1181,7 +1181,7 @@
 
 // Derived types are added later...
 //
-PrimType : BOOL | INT8 | INT16  | INT32 | INT64 | FLOAT | DOUBLE | LABEL ;
+PrimType : BOOL | INTTYPE | FLOAT | DOUBLE | LABEL ;
 
 Types 
   : OPAQUE {
@@ -1257,8 +1257,8 @@
      const llvm::Type* ElemTy = $4->get();
      if ((unsigned)$2 != $2)
         GEN_ERROR("Unsigned result not equal to signed result");
-     if (!ElemTy->isPrimitiveType())
-        GEN_ERROR("Elemental type of a PackedType must be primitive");
+     if (!ElemTy->isFloatingPoint() && !ElemTy->isInteger())
+        GEN_ERROR("Element type of a PackedType must be primitive");
      if (!isPowerOf2_32($2))
        GEN_ERROR("Vector length should be a power of 2!");
      $$ = new PATypeHolder(HandleUpRefs(PackedType::get(*$4, (unsigned)$2)));
@@ -2780,7 +2780,7 @@
     delete $2;
     CHECK_FOR_ERROR
   }
-  | MALLOC Types ',' INT32 ValueRef OptCAlign {
+  | MALLOC Types ',' INTTYPE ValueRef OptCAlign {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*$2)->getDescription());
     Value* tmpVal = getVal($4, $5);
@@ -2795,7 +2795,7 @@
     delete $2;
     CHECK_FOR_ERROR
   }
-  | ALLOCA Types ',' INT32 ValueRef OptCAlign {
+  | ALLOCA Types ',' INTTYPE ValueRef OptCAlign {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*$2)->getDescription());
     Value* tmpVal = getVal($4, $5);






More information about the llvm-commits mailing list