Regenerate.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33532 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/tools/llvm-upgrade/UpgradeLexer.cpp.cvs b/tools/llvm-upgrade/UpgradeLexer.cpp.cvs
index bbdec8b..9720d6f 100644
--- a/tools/llvm-upgrade/UpgradeLexer.cpp.cvs
+++ b/tools/llvm-upgrade/UpgradeLexer.cpp.cvs
@@ -317,39 +317,39 @@
 	*yy_cp = '\0'; \
 	yy_c_buf_p = yy_cp;
 
-#define YY_NUM_RULES 157
-#define YY_END_OF_BUFFER 158
-static yyconst short int yy_acclist[235] =
+#define YY_NUM_RULES 156
+#define YY_END_OF_BUFFER 157
+static yyconst short int yy_acclist[234] =
     {   0,
-      158,  156,  157,  155,  156,  157,  155,  157,  156,  157,
-      156,  157,  156,  157,  156,  157,  156,  157,  156,  157,
-      148,  156,  157,  148,  156,  157,    1,  156,  157,  156,
-      157,  156,  157,  156,  157,  156,  157,  156,  157,  156,
-      157,  156,  157,  156,  157,  156,  157,  156,  157,  156,
-      157,  156,  157,  156,  157,  156,  157,  156,  157,  156,
-      157,  156,  157,  156,  157,  156,  157,  156,  157,  156,
-      157,  147,  145,  144,  144,  151,  149,  153,  148,    1,
-      129,   39,   87,   56,   88,   77,   23,  147,  144,  144,
-      152,  153,   20,  153,  154,   65,   76,   37,   32,   40,
+      157,  155,  156,  154,  155,  156,  154,  156,  155,  156,
+      155,  156,  155,  156,  155,  156,  155,  156,  155,  156,
+      147,  155,  156,  147,  155,  156,    1,  155,  156,  155,
+      156,  155,  156,  155,  156,  155,  156,  155,  156,  155,
+      156,  155,  156,  155,  156,  155,  156,  155,  156,  155,
+      156,  155,  156,  155,  156,  155,  156,  155,  156,  155,
+      156,  155,  156,  155,  156,  155,  156,  155,  156,  155,
+      156,  146,  144,  143,  143,  150,  148,  152,  147,    1,
+      129,   41,   85,   86,   75,   23,  146,  143,  143,  151,
+      152,   20,  152,  153,   63,   74,   39,   34,   42,   66,
 
-       68,    3,   57,   58,   59,   52,   67,   93,   98,   96,
-       97,   95,   94,   99,  107,   72,  128,   92,   90,  123,
-      124,   91,   89,   66,  101,  106,  104,  105,  103,  102,
-      100,   78,  146,  153,  153,  125,   47,  108,  109,   86,
-       71,  137,   75,   85,  138,   54,  126,   22,  150,   70,
-      112,   74,   24,    4,   64,   69,   53,   73,   46,   11,
-      111,  153,   34,    2,    5,   60,  114,   62,   48,   80,
-       84,   82,   83,   81,   79,   50,  139,  110,   49,   55,
-       21,  136,   43,   61,   28,  133,   42,  116,  115,    7,
-      131,   31,  135,   36,   63,  122,  118,  130,   25,   26,
+        3,   52,   65,   25,   95,  100,   98,   99,   97,   96,
+      101,  105,   70,  128,   90,   88,  121,  122,   89,   87,
+       64,  103,   94,   92,   93,   91,  104,  102,   76,  145,
+      152,  152,  124,   57,  106,  107,   84,   69,  136,   73,
+       83,  137,   54,  123,   22,  149,   68,  110,   72,   26,
+        4,   61,   67,   53,   71,   56,   11,  109,  152,   36,
+        2,    5,   58,  112,   60,   48,   78,   82,   80,   81,
+       79,   77,   50,  138,  108,   49,   55,   21,  126,  135,
+       45,   59,   30,   24,   44,  114,  113,    7,  131,   33,
+      134,   38,   62,  120,  116,  130,   27,   28,  115,  132,
 
-      117,  132,   51,  127,  121,   41,    6,   27,  113,   35,
-        8,   16,    9,  120,   10,  119,   33,   12,   14,   13,
-       30,   38,   15,   29,  134,  140,  142,  143,   17,   44,
-      141,   18,   45,   19
+       51,  127,  125,  119,   43,    6,   29,  111,   37,    8,
+       17,    9,  118,   10,  117,   35,   12,   14,   13,   32,
+       40,   15,   31,  133,  139,  141,  142,   16,   46,  140,
+       18,   47,   19
     } ;
 
-static yyconst short int yy_accept[609] =
+static yyconst short int yy_accept[611] =
     {   0,
         1,    1,    1,    2,    4,    7,    9,   11,   13,   15,
        17,   19,   21,   24,   27,   30,   32,   34,   36,   38,
@@ -359,65 +359,65 @@
        81,   81,   81,   81,   81,   81,   81,   81,   81,   82,
        82,   83,   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,
+       84,   84,   84,   84,   84,   84,   84,   84,   84,   84,
+       85,   85,   85,   85,   85,   85,   85,   85,   86,   86,
 
-       86,   87,   87,   87,   87,   87,   87,   87,   87,   87,
-       87,   87,   87,   87,   87,   87,   87,   87,   87,   88,
-       88,   88,   88,   88,   88,   88,   88,   88,   88,   88,
-       88,   88,   88,   88,   88,   88,   88,   89,   90,   92,
-       93,   94,   95,   95,   96,   97,   97,   97,   98,   98,
-       98,   99,   99,  100,  100,  100,  100,  100,  101,  101,
-      101,  101,  101,  101,  101,  102,  102,  102,  103,  103,
-      103,  103,  103,  103,  103,  103,  103,  103,  103,  103,
-      103,  104,  105,  106,  106,  106,  106,  107,  107,  107,
-      107,  107,  107,  107,  107,  107,  107,  108,  108,  109,
+       86,   86,   86,   86,   86,   86,   86,   86,   86,   86,
+       86,   86,   86,   86,   86,   86,   87,   87,   87,   87,
+       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
+       87,   87,   87,   87,   88,   89,   91,   92,   93,   94,
+       94,   95,   96,   96,   96,   97,   97,   97,   98,   98,
+       99,   99,   99,   99,   99,  100,  100,  100,  100,  100,
+      100,  100,  101,  101,  101,  102,  102,  102,  102,  102,
+      102,  102,  102,  102,  102,  102,  102,  102,  102,  102,
+      102,  103,  103,  103,  103,  103,  103,  103,  103,  103,
+      103,  104,  105,  105,  106,  107,  108,  109,  110,  111,
 
-      110,  111,  112,  113,  114,  114,  115,  116,  116,  116,
-      117,  118,  118,  118,  118,  118,  118,  118,  118,  119,
-      120,  121,  121,  122,  122,  122,  122,  123,  124,  124,
-      124,  125,  125,  125,  125,  125,  125,  125,  125,  125,
-      126,  127,  128,  128,  128,  129,  129,  130,  130,  131,
-      131,  132,  132,  132,  132,  132,  132,  132,  132,  132,
-      132,  133,  133,  133,  134,  135,  135,  135,  135,  136,
-      136,  136,  136,  137,  137,  137,  138,  139,  140,  140,
-      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
-      140,  140,  140,  140,  141,  142,  142,  142,  142,  142,
+      111,  112,  113,  113,  113,  114,  115,  115,  115,  115,
+      115,  115,  115,  115,  116,  117,  118,  118,  119,  119,
+      119,  119,  120,  121,  121,  121,  122,  122,  122,  122,
+      122,  122,  122,  122,  122,  123,  124,  125,  125,  125,
+      126,  126,  127,  127,  128,  128,  129,  129,  129,  129,
+      129,  129,  129,  129,  129,  129,  129,  129,  130,  130,
+      130,  131,  132,  132,  132,  132,  133,  133,  133,  133,
+      134,  134,  134,  135,  136,  137,  137,  137,  137,  137,
+      137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
+      137,  138,  139,  139,  139,  139,  139,  140,  141,  141,
 
-      143,  144,  144,  144,  145,  145,  145,  145,  145,  145,
-      145,  145,  145,  146,  147,  148,  148,  148,  149,  149,
-      149,  149,  150,  150,  151,  151,  151,  151,  151,  151,
-      151,  152,  152,  152,  152,  152,  153,  153,  153,  154,
-      154,  154,  155,  155,  156,  156,  157,  158,  158,  158,
-      158,  158,  158,  158,  159,  159,  159,  160,  160,  161,
-      161,  161,  162,  163,  164,  164,  164,  165,  165,  165,
-      165,  165,  165,  165,  165,  165,  165,  165,  165,  165,
-      165,  165,  166,  166,  167,  168,  168,  168,  168,  168,
-      168,  168,  168,  168,  168,  168,  169,  169,  169,  169,
+      141,  142,  142,  142,  142,  142,  142,  142,  142,  142,
+      143,  144,  145,  145,  145,  146,  146,  146,  146,  147,
+      147,  148,  148,  148,  148,  148,  148,  148,  149,  149,
+      149,  149,  149,  150,  150,  150,  151,  151,  151,  152,
+      152,  153,  153,  154,  155,  155,  155,  155,  155,  155,
+      155,  156,  156,  156,  156,  156,  157,  157,  158,  158,
+      158,  159,  160,  161,  161,  161,  162,  162,  162,  162,
+      162,  162,  162,  162,  162,  162,  162,  162,  162,  162,
+      162,  163,  163,  164,  165,  165,  165,  165,  165,  165,
+      165,  165,  165,  165,  165,  166,  166,  166,  166,  166,
 
-      169,  169,  169,  169,  170,  170,  170,  171,  172,  173,
-      174,  175,  176,  177,  177,  177,  177,  178,  178,  178,
-      178,  179,  180,  180,  181,  182,  182,  182,  182,  182,
-      182,  182,  182,  182,  182,  183,  183,  183,  184,  184,
-      184,  184,  184,  184,  184,  184,  185,  186,  187,  187,
-      187,  188,  189,  190,  190,  190,  191,  191,  191,  191,
-      191,  192,  192,  193,  194,  195,  196,  196,  196,  196,
-      197,  197,  197,  198,  199,  200,  201,  202,  202,  202,
-      203,  204,  205,  205,  205,  205,  205,  205,  206,  206,
-      207,  207,  208,  209,  209,  209,  209,  209,  209,  210,
+      166,  166,  166,  167,  167,  167,  168,  169,  170,  171,
+      172,  173,  174,  174,  174,  174,  175,  175,  175,  175,
+      176,  177,  177,  178,  179,  179,  179,  179,  179,  179,
+      180,  180,  180,  180,  180,  180,  181,  181,  181,  182,
+      182,  182,  182,  182,  182,  182,  182,  183,  184,  185,
+      185,  185,  186,  187,  188,  188,  188,  189,  189,  189,
+      189,  189,  190,  190,  191,  192,  193,  194,  194,  194,
+      194,  195,  195,  195,  196,  197,  198,  199,  200,  200,
+      200,  201,  202,  203,  204,  204,  204,  204,  204,  204,
+      205,  205,  206,  206,  207,  208,  208,  208,  208,  208,
 
-      210,  210,  210,  210,  210,  210,  210,  210,  211,  211,
-      211,  211,  211,  211,  211,  211,  211,  211,  212,  212,
-      212,  212,  212,  213,  213,  213,  213,  213,  214,  215,
-      216,  216,  217,  217,  217,  217,  217,  218,  218,  218,
-      218,  219,  219,  220,  221,  221,  221,  221,  221,  221,
+      208,  209,  209,  209,  209,  209,  209,  209,  209,  209,
+      210,  210,  210,  210,  210,  210,  210,  210,  210,  210,
+      211,  211,  211,  211,  211,  212,  212,  212,  212,  212,
+      213,  214,  215,  215,  216,  216,  216,  216,  216,  217,
+      217,  217,  217,  218,  218,  219,  220,  220,  220,  220,
+      220,  220,  220,  220,  220,  220,  220,  220,  220,  220,
       221,  221,  221,  221,  221,  221,  221,  221,  222,  222,
-      222,  222,  222,  222,  222,  222,  223,  223,  223,  223,
-      223,  223,  224,  224,  224,  224,  224,  225,  225,  225,
-      226,  226,  226,  226,  226,  226,  226,  226,  226,  226,
-      226,  226,  226,  226,  227,  227,  228,  229,  230,  230,
+      222,  222,  222,  222,  223,  223,  223,  223,  223,  224,
+      224,  224,  225,  225,  225,  225,  225,  225,  225,  225,
+      225,  225,  225,  225,  225,  225,  226,  226,  227,  228,
 
-      231,  231,  232,  233,  234,  234,  235,  235
+      229,  229,  230,  230,  231,  232,  233,  233,  234,  234
     } ;
 
 static yyconst int yy_ec[256] =
@@ -426,16 +426,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,
@@ -452,291 +452,291 @@
         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[617] =
+static yyconst short int yy_base[615] =
     {   0,
-        0,    0, 1298, 1299, 1299, 1299, 1293, 1278,   40,    0,
-       48,   58,   68, 1250,    0,   68,   71,   81,   91,   52,
-      105,   93,  134,  117,  118,   73,  137,  143,   98,  175,
-      144,  210,  159,  116,   56,  119, 1290, 1299, 1275, 1299,
-        0,  241,    0, 1283, 1282,  140,  249, 1245,  267,    0,
-       70,  163,  145,   31,  157,  160,  168,   57, 1271,  170,
-       94,  180,  182,   54,  193,  189,  194,  114,  205, 1270,
-      271,  207,  204,  211,  208,  279,  206,  228,  249,   53,
-      121,  254, 1269,  268,  280,  281,  283,  290,  291,  285,
-      286,  287,  300, 1268,  305,  292,  309,  310,  314,  293,
+        0,    0, 1308, 1309, 1309, 1309, 1303, 1292,   36,   40,
+       44,   50,   56,   62,    0,   63,   66,   81,   89,   47,
+      108,   91,  105,   96,  119,  117,  144,  128,   68,  170,
+      169,  202,   92,  111,  131,  125, 1301, 1309, 1290, 1309,
+        0,  207,  229,  234,  239,   70,  244,  259,  264,    0,
+      139,  145,  142,   76,  136,  156,  157,   31, 1289,  162,
+      164,  192,   48,  172,  268,  175,  173,  221,  212, 1288,
+      276,  278,  138,  186,   72,  279,  277,  280,  289,  249,
+      282,  290,  216,  281,  291,  189,  294,  284,  295, 1287,
+      297,  306,   73,  305,  316,  317,  246,  311,  318,  322,
 
-      316,  217,  317,  321,  311,  147,  322,  325,  328,  331,
-      341,  329,  344,  336,  339,  358,  347,  348, 1267,  363,
-      349,  346,  366,  370,  371,  372,  373,  384,  377,  388,
-      253,  398,  378,  401,  385,  403, 1266,    0,    0,  372,
-     1265,    0,  442,    0, 1264,  404,  407, 1263,  408,  412,
-     1262,  409, 1261,  414,  427,  428,  423, 1260,  418,  429,
-      444,  445,  447,  448, 1259,  452,  449,  454,  457,  459,
-      456,  458,  460,  464,  469,  255,  470,  476,  473,  471,
-     1258, 1257, 1256,  475,  472,  484,  486,  483,  490,  496,
-      497,  498,  500,  502,  503,  504, 1255,  507, 1254, 1253,
+      323,  324,  327,  329,  330,  338,  332,  348,  350,  333,
+      337,  334,  362,  336,  364, 1286,  367,  351,  359,  371,
+      374,  379,  375,  381,  405,  386,  389,  403,  396,  378,
+      250,  376,  400, 1285,    0,  436,  440, 1284,  454,  471,
+        0, 1283,  382,  406, 1282,  410,  425, 1281,  415, 1280,
+      422,  430,  440,  456, 1279,  458,  459,  473,  412,  447,
+      460, 1278,  474,  442,  472,  477,  480,  476,  461,  478,
+      416,  488,  490,  491,  494,  495,  496,  492,  499,  506,
+      507,  500,  513,  505,  508,  520,  521,  523,  524,  525,
+     1277, 1276,  526, 1275, 1274, 1273, 1272, 1271, 1270,  527,
 
-     1252, 1251, 1250, 1249,  505, 1248, 1247,  512,  508, 1246,
-     1245,  540,  517,  516,  521,  515,  551,  530, 1244, 1243,
-     1242,  552, 1241,  554,  556,  557, 1240, 1239,  555,  558,
-     1238,  559,  561,  563,  567,  572,  569,  570,  577, 1237,
-     1236, 1235,  580,  583, 1234,  587, 1233,  585, 1232,  588,
-     1231,  590,  513,  584,  591,  514,  598,  592,  596,  416,
-     1230,  595,  607, 1299,  605,  622,  626,  628,  630,  621,
-      622,  623, 1229,  624,  626, 1228, 1227, 1226,  625,  627,
-      628,  633,  634,  636,  635,  637,  642,  647,  644,  643,
-      654,  646,  658, 1225, 1224,  645,  656,  660,  661, 1223,
+     1269, 1268,  529,  533, 1267, 1266,  561,  538,  537,  542,
+      534,  572,  550, 1265, 1264, 1263,  553, 1262,  535,  575,
+      536, 1261, 1260,  576,  577, 1259,  555,  579,  540,  580,
+      586,  582,  585,  588, 1258, 1257, 1256,  593,  596, 1255,
+      590, 1254,  597, 1253,  600, 1252,  601,  602,  604,  605,
+      619,  609,  612,  618,  622,  611,  214, 1251,  628,  629,
+     1309,  635,  643,  651,  657,  662,  651,  663,  664, 1250,
+      665,  666, 1249, 1248, 1247,  667,  669,  672,  673,  675,
+      676,  677,  678,  683,  679,  686,  685,  691,  690,  693,
+     1246, 1245,  687,  697,  701,  702, 1244, 1243,  703,  707,
 
-     1222,  666,  667, 1221,  669,  670,  671,  675,  673,  674,
-      676,  680, 1220, 1219, 1218,  683,  688, 1217,  686,  677,
-      690,    0,  696, 1216,  698,  697,  699,  706,  707,  709,
-     1215,  702,  712,  714,  717, 1214,  724,  713, 1213,  726,
-      721, 1212,  731, 1211,  728, 1210, 1209,  732,  734,  739,
-      740,  741,  743, 1208,  744,  747, 1207,  748, 1206,  751,
-      750, 1205,    0, 1204,  752,  754, 1203,  755,  759,  764,
-      767,  770,  758,  772,  776,  780,  781,  783,  782,  784,
-      785, 1202,  786, 1201, 1200,  789,  791,  794,  787,  788,
-      797,  798,  806,  807,  808, 1199,  810,  809,  812,  815,
+     1242,  708,  709,  711,  713,  714,  719,  715,  721, 1241,
+     1240, 1239,  722,  724, 1238,  727,  729,  735,    0,  737,
+     1237,  741,  738,  742,  747,  748,  749, 1236,  743,  635,
+      750,  755, 1235,  760,  761, 1234,  763,  764, 1233,  767,
+     1232,  773, 1231, 1230,  775,  776,  778,  777,  781,  780,
+     1229,  783,  784,  789,  791, 1228,  792, 1227,  798,  793,
+     1226,  813, 1225,  794,  795, 1224,  801,  807,  816,  817,
+      822,  813,  796,  819,  825,  826,  828,  829,  830,  832,
+     1223,  833, 1222, 1221,  836,  837,  831,  842,  841,  843,
+      846,  853,  854,  855, 1220,  857,  858,  861,  862,  863,
 
-      816,  820,  822, 1198,  814,  828, 1197, 1196, 1195, 1194,
-     1193, 1192, 1191,  830,  831,  833, 1190,  834,  836,  838,
-     1189, 1188,  837, 1187, 1186,  839,  842,  840,  843,  844,
-      850,  853,  854,  857, 1185,  860,  861, 1184,  864,  865,
-      867,  869,  868,  870,  871, 1183, 1182, 1181,  875,  876,
-     1180, 1179, 1178,  885,  882, 1177,  887,  891,  897,  883,
-     1176,  886, 1175, 1174, 1173, 1172,  894,  901,  903, 1171,
-      904,  907, 1170, 1169, 1168, 1167, 1166,  908,  910, 1165,
-     1164, 1163,  909,  905,  911,  912,  914, 1162,  916, 1161,
-      923, 1160, 1159,  926,  928,  929,  930,  933, 1158,  934,
+      866,  865, 1219,  876,  860, 1218, 1217, 1216, 1215, 1214,
+     1213, 1212,  877,  879,  880, 1211,  881,  882,  886, 1210,
+     1209,  884, 1208, 1207,  885,  890,  888,  887,  891, 1206,
+      898,  900,  901,  904,  907, 1205,  909,  911, 1204,  912,
+      916,  716,  917,  914,  915,  919, 1203, 1202, 1201,  935,
+      918, 1200, 1199, 1198,  925,  928, 1197,  938,  942,  943,
+      930, 1196,  945, 1195, 1194, 1193, 1192,  946,  949,  954,
+     1191,  950,  955, 1190, 1189, 1188, 1187, 1186,  956,  958,
+     1185, 1184, 1183, 1182,  957,  960,  968,  961,  962, 1181,
+      963, 1180,  973, 1179, 1178,  964,  975,  977,  978,  980,
 
-      935,  936,  938,  937,  948,  932,  940, 1157,  944,  950,
-      956,  960,  962,  964,  966,  967,  968, 1156,  946,  972,
-      974,  975, 1155,  976,  977,  978,  980, 1150, 1147, 1144,
-      983, 1136,  993,  981,  985,  986, 1133,  998,  999, 1003,
-     1130, 1006, 1124, 1113, 1007, 1008, 1009, 1010, 1011, 1013,
-     1014, 1018, 1020, 1019, 1023, 1022, 1025, 1111, 1024, 1031,
-     1026, 1035, 1039, 1040, 1036, 1109, 1043, 1044, 1046, 1050,
-     1051, 1108, 1054, 1052, 1055, 1056, 1106, 1060, 1062, 1104,
-     1064, 1067, 1057, 1069, 1076, 1077, 1080, 1081, 1082, 1084,
-     1085, 1083, 1087, 1101, 1088, 1100, 1099, 1094, 1089,  982,
+     1177,  981,  983,  984,  987,  988,  992,  994,  995, 1176,
+      997,  998, 1005, 1006, 1004, 1008, 1012, 1014,  920, 1175,
+     1015, 1017, 1020, 1021, 1174, 1023, 1024, 1025, 1026, 1171,
+     1162, 1160, 1029, 1159, 1027, 1044, 1032, 1028, 1158, 1045,
+     1049, 1033, 1157, 1050, 1155, 1154, 1053, 1055, 1056, 1057,
+     1059, 1060, 1061, 1063, 1065, 1066, 1067, 1069, 1071, 1152,
+     1074, 1077, 1080, 1082, 1083, 1085, 1087, 1148, 1090, 1091,
+     1096, 1097, 1098, 1147, 1095, 1101, 1102, 1103, 1145, 1107,
+     1108, 1140, 1106, 1109, 1114, 1118, 1122, 1123, 1126, 1129,
+     1128, 1130, 1131, 1132, 1133, 1070, 1134,  643,  552,  548,
 
-     1098,  756,  527,  419, 1093,  326, 1299, 1132, 1138, 1144,
-      268, 1152, 1158,  123, 1161, 1166
+     1139,  444, 1144,  360,  285,  252, 1142,  133, 1309, 1177,
+     1179,  143, 1183,   57
     } ;
 
-static yyconst short int yy_def[617] =
+static yyconst short int yy_def[615] =
     {   0,
-      607,    1,  607,  607,  607,  607,  608,  609,  610,  611,
-      609,  609,   11,   13,  612,  609,  609,  609,  609,  609,
-      609,  609,  609,  609,  609,  609,  609,  609,  609,  609,
-      609,  609,  609,  609,  609,  609,  608,  607,  609,  607,
-      613,  613,  614,  611,   11,  609,   11,   13,   11,  612,
-      609,  609,  609,  609,  609,  609,  609,  609,  609,  609,
-      609,  609,  609,  609,  609,  609,  609,  609,  609,  609,
-      609,  609,  609,  609,  609,  609,  609,  609,  609,  609,
-      609,  609,  609,  609,  609,  609,  609,  609,  609,  609,
-      609,  609,  609,  609,  609,  609,  609,  609,  609,  609,
+      609,    1,  609,  609,  609,  609,  610,  611,  612,  609,
+      611,  611,  611,  611,  613,  611,  611,  611,  611,  611,
+      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
+      611,  611,  611,  611,  611,  611,  610,  609,  611,  609,
+      614,  614,  609,  609,  611,  611,  611,  611,  611,  613,
+      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
+      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
+      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
+      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
+      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
 
-      609,  609,  609,  609,  609,  609,  609,  609,  609,  609,
-      609,  609,  609,  609,  609,  609,  609,  609,  609,  609,
-      609,  609,  609,  609,  609,  609,  609,  609,  609,  609,
-      609,  609,  609,  609,  609,  609,  607,  613,   42,  615,
-      609,   47,   11,   49,  609,  609,  609,  609,  609,  609,
-      609,  609,  609,  609,  609,  609,  609,  609,  609,  609,
-      609,  609,  609,  609,  609,  609,  609,  609,  609,  609,
-      609,  609,  609,  609,  609,  609,  609,  609,  609,  609,
-      609,  609,  609,  609,  609,  609,  609,  609,  609,  609,
-      609,  609,  609,  609,  609,  609,  609,  609,  609,  609,
+      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
+      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
+      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
+      611,  611,  611,  609,  614,  614,  609,  611,  611,  611,
+       49,  611,  611,  611,  611,  611,  611,  611,  611,  611,
+      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
+      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
+      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
+      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
+      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
 
-      609,  609,  609,  609,  609,  609,  609,  609,  609,  609,
-      609,   49,  609,  609,  609,  609,  609,  609,  609,  609,
-      609,  609,  609,  609,  609,  609,  609,  609,  609,  609,
-      609,  609,  609,  609,  609,  609,  609,  609,  609,  609,
-      609,  609,  609,  609,  609,  609,  609,  609,  609,  609,
-      609,  609,  609,  609,  609,  609,  609,  609,  609,  609,
-      609,  609,  609,  607,  615,  616,  616,  143,  143,  609,
-      609,  609,  609,  609,  609,  609,  609,  609,  609,  609,
-      609,  609,  609,  609,  609,  609,  609,  609,  609,  609,
-      609,  609,  609,  609,  609,  609,  609,  609,  609,  609,
+      611,  611,  611,  611,  611,  611,   49,  611,  611,  611,
+      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
+      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
+      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
+      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
+      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
+      609,  609,  609,  609,  611,  611,  611,  611,  611,  611,
+      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
+      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
+      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
 
-      609,  609,  609,  609,  609,  609,  609,  609,  609,  609,
-      609,  609,  609,  609,  609,  609,  609,  609,  609,  609,
-      609,  212,  609,  609,  609,  609,  609,  609,  609,  609,
-      609,  609,  609,  609,  609,  609,  609,  609,  609,  609,
-      609,  609,  609,  609,  609,  609,  609,  609,  609,  609,
-      609,  609,  609,  609,  609,  609,  609,  609,  609,  609,
-      609,  609,  267,  609,  609,  609,  609,  609,  609,  609,
-      609,  609,  609,  609,  609,  609,  609,  609,  609,  609,
-      609,  609,  609,  609,  609,  609,  609,  609,  609,  609,
-      609,  609,  609,  609,  609,  609,  609,  609,  609,  609,
+      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
+      611,  611,  611,  611,  611,  611,  611,  611,  207,  611,
+      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
+      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
+      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
+      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
+      611,  609,  611,  611,  611,  611,  611,  611,  611,  611,
+      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
+      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
+      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
 
-      609,  609,  609,  609,  609,  609,  609,  609,  609,  609,
-      609,  609,  609,  609,  609,  609,  609,  609,  609,  609,
-      609,  609,  609,  609,  609,  609,  609,  609,  609,  609,
-      609,  609,  609,  609,  609,  609,  609,  609,  609,  609,
-      609,  609,  609,  609,  609,  609,  609,  609,  609,  609,
-      609,  609,  609,  609,  609,  609,  609,  609,  609,  609,
-      609,  609,  609,  609,  609,  609,  609,  609,  609,  609,
-      609,  609,  609,  609,  609,  609,  609,  609,  609,  609,
-      609,  609,  609,  609,  609,  609,  609,  609,  609,  609,
-      609,  609,  609,  609,  609,  609,  609,  609,  609,  609,
+      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
+      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
+      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
+      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
+      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
+      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
+      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
+      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
+      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
+      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
 
-      609,  609,  609,  609,  609,  609,  609,  609,  609,  609,
-      609,  609,  609,  609,  609,  609,  609,  609,  609,  609,
-      609,  609,  609,  609,  609,  609,  609,  609,  609,  609,
-      609,  609,  609,  609,  609,  609,  609,  609,  609,  609,
-      609,  609,  609,  609,  609,  609,  609,  609,  609,  609,
-      609,  609,  609,  609,  609,  609,  609,  609,  609,  609,
-      609,  609,  609,  609,  609,  609,  609,  609,  609,  609,
-      609,  609,  609,  609,  609,  609,  609,  609,  609,  609,
-      609,  609,  609,  609,  609,  609,  609,  609,  609,  609,
-      609,  609,  609,  609,  609,  609,  609,  609,  609,  609,
+      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
+      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
+      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
+      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
+      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
+      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
+      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
+      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
+      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
+      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
 
-      609,  609,  609,  609,  609,  609,    0,  607,  607,  607,
-      607,  607,  607,  607,  607,  607
+      611,  611,  611,  611,  611,  611,  611,  611,    0,  609,
+      609,  609,  609,  609
     } ;
 
-static yyconst short int yy_nxt[1347] =
+static yyconst short int yy_nxt[1353] =
     {   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,  149,  181,   40,
-       40,   40,  134,   40,   40,   40,   47,   48,   48,   48,
-       48,   48,   48,   48,   48,   40,   69,   40,   40,   70,
-       40,  135,  155,   51,  162,  145,   71,   56,   40,   94,
+       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,  135,
+       40,   40,  152,   40,   47,   48,   48,   48,   48,   40,
+       47,   48,   48,   48,   48,   40,   40,   69,  138,   40,
+       70,   40,  158,   40,   51,   40,   40,   71,   56,   40,
+      102,   52,   57,   53,   40,   54,   49,   58,   55,   60,
 
-       52,   57,   53,   60,   54,   61,   58,   55,   40,   59,
-       40,   40,   49,   64,   95,   40,   62,   65,  158,   78,
-       63,   66,   40,   67,  105,   79,   68,   72,   43,   73,
-       74,   40,  182,   40,   40,   40,   40,   75,   40,   87,
-       91,   76,  133,   77,   80,  136,   81,   88,  141,   82,
-       83,   40,   89,   92,   40,  167,   90,   40,   84,   93,
-       40,   40,   40,   96,   40,   97,  118,   85,   86,   98,
-      148,   99,  102,  100,   40,  101,   40,   40,  103,  119,
-       40,  131,  120,  104,  106,   40,  150,   40,  152,  121,
-      151,  212,   40,  146,  132,  147,  153,   40,  107,   40,
+       59,   61,   40,  172,   40,   40,  194,   64,  146,   40,
+      128,   65,   62,   78,   83,   66,   63,   67,   40,   79,
+       68,   40,   84,  129,   40,   80,   72,   85,   73,   74,
+       40,   86,   40,  130,   81,   82,   75,   87,   40,   90,
+       76,   40,   77,  131,   40,   41,   40,  133,   91,   40,
+       88,   40,   40,   99,   92,   40,   89,   40,   40,  100,
+      142,  147,  132,  145,  101,  148,   93,  170,   94,   40,
+       40,  143,   95,  144,   96,   40,   97,   40,   98,  103,
+      149,  150,   40,   40,  155,   40,   40,  115,   40,  104,
+      153,  105,  106,  151,  107,  108,  109,  154,  110,   40,
 
-      108,  109,  156,  110,  111,  112,   40,  113,  154,  157,
-       40,   40,  159,  114,  160,  115,  116,  163,  117,  106,
-      161,   40,   40,   40,   40,   40,  166,   40,   40,  164,
-      168,  165,  178,  122,   40,  123,  124,  173,  125,  171,
-      126,  174,  127,  175,  128,   40,  172,  207,  129,  130,
-      139,  139,  139,  139,  139,  139,  139,  139,  142,  142,
-      142,  142,  142,  142,  142,  142,   40,  183,  179,  143,
-       40,   40,   40,   44,  256,  143,  144,  144,  144,  144,
-      144,  144,  144,  144,  180,   40,  144,  144,   40,  144,
-      144,  144,  144,  144,  144,  169,   40,   40,   40,  297,
+      116,  163,   40,  117,  111,   40,  112,  113,  159,  114,
+      118,  103,  171,  162,  188,   40,  136,  136,  136,  136,
+      156,  119,  157,  120,  121,   40,  122,   40,  123,   40,
+      124,  359,  125,  165,   40,  183,  126,  127,   43,   43,
+       43,   43,  137,   44,   44,   44,   44,   47,   45,   45,
+       45,   45,   40,  139,  139,  139,  139,   40,  164,   40,
+      140,  257,   40,   40,  200,   40,  140,   47,   48,   48,
+       48,   48,   40,  141,  141,  141,  141,   40,  178,  141,
+      141,   40,  141,  141,  141,  141,  141,  141,  160,   40,
+       40,   40,   40,   40,   40,   40,  166,   40,   40,  175,
 
-       40,  184,   40,   40,   40,  176,  189,   40,   40,   40,
-       40,  170,  196,  192,  194,  205,  185,   40,  195,  177,
-      186,  187,   40,  188,  190,  193,   40,   40,   40,  199,
-      191,   40,  197,   40,   40,  200,  202,  198,   40,   40,
-      204,  206,   40,   40,  210,   40,   40,  208,   40,  201,
-      203,  211,  215,   40,  225,  214,   40,  219,   40,  209,
-      216,   40,  229,   40,   40,   40,   40,  213,  217,  226,
-      227,  220,  218,  221,  230,   40,  222,  232,  233,  223,
-       40,  231,  224,   40,  228,  237,  234,   40,   40,   40,
-       40,  238,  266,  235,   40,   40,  239,  241,  266,  245,
+      161,  173,   40,   40,   40,  190,  168,   40,   40,  186,
+       40,  184,  167,  169,  179,  174,  176,  185,   40,   40,
+      177,  187,  189,  191,   40,  180,  181,  195,  182,   40,
+       40,   40,  201,  192,  193,   40,   40,   40,  197,  199,
+       40,  196,   40,   40,  202,   40,   40,   40,  203,   40,
+       40,   40,  198,  205,  214,  222,  209,  204,  210,  224,
+      206,   40,  227,   40,   40,  225,  211,  207,  215,  223,
+      208,  220,   40,   40,  212,   40,  216,   40,  213,  217,
+       40,  226,  218,  232,   40,  219,  221,   40,   40,   40,
+      228,   40,   40,  230,   40,   40,  256,  234,  229,   40,
 
-      259,   40,   40,  254,  236,   40,  243,  240,  246,  248,
-      249,  242,  244,  247,  250,   40,  260,  255,   40,  251,
-       40,   40,  252,  261,   40,   40,   40,  253,  257,   40,
-      258,   40,  270,   40,  272,   40,   40,  360,  275,  274,
-       40,  262,  271,  279,   40,   40,   40,  263,  267,  268,
-      273,  269,  269,  269,  269,  269,  269,  269,  269,  276,
-      277,   40,   40,  278,   40,   40,   40,  282,  280,   40,
-      281,   40,  287,   40,   40,   40,   40,   40,  285,  283,
-      284,   40,  286,  289,  288,  290,   40,   40,   40,   40,
-       40,  296,   40,   40,  303,  292,  294,  291,  293,  302,
+      233,  236,   40,  240,  231,  238,  267,  235,  249,   40,
+      258,  239,  241,   40,  250,  237,   40,  242,   40,   40,
+      251,  252,  254,   40,  255,   40,  243,  244,   40,   40,
+      279,  245,  269,  253,  259,   40,  246,  268,   40,  247,
+      260,  271,  272,   40,  248,  136,  136,  136,  136,  262,
+      262,  262,  262,   40,  292,   40,  263,   40,  273,  270,
+       40,  284,  263,  139,  139,  139,  139,   40,  274,   40,
+      140,   40,   40,   40,   40,  280,  140,  264,  265,  276,
+      266,  266,  266,  266,   40,   40,   40,   40,  281,   40,
+       40,   40,  275,   40,  277,  278,  282,  290,  285,  286,
 
-       40,   40,  300,   40,  305,  298,  295,   40,  299,  301,
-      306,  304,  307,   40,   40,   40,  310,   40,  309,   40,
-       40,   40,   40,  313,   40,   40,  308,  311,  314,   40,
-       40,   40,   40,   40,   40,  316,  356,  312,   40,  318,
-      315,  326,  319,  353,   40,  317,  320,   40,  321,  322,
-      322,  322,  322,  322,  322,  322,  322,  323,  324,  322,
-      322,  325,  322,  322,  322,  322,  322,  322,   40,   40,
-      331,   40,   40,   40,   40,   40,   40,  327,   40,  328,
-       40,  333,  334,  329,   40,  330,   40,   40,  336,   40,
-      332,  340,  335,  339,   40,  344,  337,   40,  342,  338,
+      283,   40,  287,   40,   40,   40,  293,   40,   40,   40,
+      291,  289,   40,   40,  288,  300,  297,  299,   40,   40,
+       40,   40,  295,  298,  301,  296,   40,  302,  303,  304,
+      294,  306,  308,   40,   40,  307,   40,   40,   40,   40,
+       40,  310,   40,  305,  309,  311,   40,   40,   40,   40,
+       40,   40,  313,   40,  315,   40,  323,  312,  330,  317,
+      316,   40,  314,   40,  337,   40,   40,  332,   40,  318,
+      319,  319,  319,  319,  320,  321,  319,  319,  322,  319,
+      319,  319,  319,  319,  319,   40,  328,  329,   40,   40,
+       40,  335,   40,   40,  324,   40,  325,  331,   40,   40,
 
-       40,   40,   40,  341,   40,   40,  343,   40,   40,   40,
-      345,  350,   40,   40,  358,   40,  352,  354,  348,  346,
-      347,  349,  351,  357,   40,  266,  355,  359,  267,  267,
-      361,  266,  607,  607,  607,   39,  607,   39,   40,   40,
-       40,   40,   40,   40,   40,   40,  365,  362,  368,  369,
-       40,   40,   40,   40,   40,  364,  373,  366,  367,   40,
-       40,   40,   40,   40,   40,  372,  374,  370,  371,  378,
-      376,   40,  382,   40,  377,   40,  381,   40,   40,  375,
-      379,  380,  383,   40,   40,  384,   40,   40,   40,  390,
-       40,   40,   40,   40,   40,  391,  385,   40,  389,  386,
+      326,   40,  327,   40,  341,  333,   40,  336,  339,   40,
+       40,  334,  338,   40,   40,   40,  340,   40,   40,  347,
+      346,  342,   40,  349,   40,   40,  343,  345,  350,  344,
+      348,   40,   40,  351,  355,   40,  352,  353,  358,  356,
+      357,   40,   40,  354,  262,  262,  262,  262,   40,  264,
+      264,  263,  362,  362,  362,  362,   40,  263,  413,  360,
+      362,  362,  362,  362,   40,  361,  266,  266,  266,  266,
+       40,  266,  266,  266,  266,   40,   40,   40,   40,   40,
+       40,  363,   40,  364,  367,   40,   40,  368,   40,   40,
+       40,   40,   40,  372,  365,  366,   40,  377,   40,   40,
 
-       40,  387,  388,   40,  395,   40,  396,   40,  392,  393,
-      394,  397,  398,   40,   40,   40,   40,  402,  399,   40,
-      400,  406,  404,   40,   40,  403,   40,  401,  405,   40,
-       40,   40,  408,  410,   40,  412,  407,  418,   40,  414,
-      415,   40,  413,   40,  416,   40,  409,  411,   40,   40,
-      417,   40,  419,  420,  422,  421,   40,   40,   40,  423,
-       40,   40,  424,  427,   40,   40,  425,   40,   40,   40,
-      426,   40,   40,   40,  435,   40,   40,  428,  432,  436,
-      434,   40,  429,  438,   40,  430,  439,   40,  431,   40,
-      433,  440,  441,   40,  437,  443,  442,   40,   40,   40,
+       40,  371,  373,   40,   40,  369,   40,  375,  370,  380,
+       40,  376,  381,  382,   40,   40,   40,  374,  378,  379,
+       40,   40,   40,  383,   40,  389,   40,   40,   40,   40,
+      390,  388,   40,  384,   40,   40,  385,   40,  386,  387,
+       40,  394,   40,  391,  393,  392,  396,  395,   40,  397,
+       40,   40,  399,  398,   40,   40,   40,  493,  405,  403,
+       40,   40,   40,   40,  400,  401,  402,  404,   40,  407,
+      409,  411,  414,   40,   40,  406,   40,   40,  415,  412,
+       40,  417,  416,  408,  410,  418,   40,  420,   40,   40,
+       40,   40,  419,   40,   40,  421,   40,   40,  422,  426,
 
-       40,   40,   40,   40,   40,   40,   40,  446,   40,  450,
-      451,   40,  444,  455,   40,   40,  445,  447,  449,  452,
-      456,  453,  448,   40,   40,   40,   40,   40,  454,   40,
-      457,   40,   40,   40,  461,  463,  464,   40,  458,   40,
-      459,  465,  466,  460,  462,   40,  467,   40,   40,  469,
-       40,   40,  468,   40,   40,   40,   40,   40,  472,   40,
-       40,   40,  471,  474,  476,  480,  479,   40,  470,  473,
-       40,   40,  482,  477,   40,  484,  475,   40,   40,  478,
-      483,   40,   40,  481,   40,   40,   40,   40,   40,  490,
-      487,  486,   40,   40,  485,  492,  496,  497,  489,   40,
+      423,  424,   40,  425,   40,   40,   40,   40,   40,   40,
+      427,   40,  436,  430,   40,  444,  437,  428,  429,  435,
+       40,  433,  362,  362,  362,  362,   40,  439,  432,   40,
+       40,  431,   40,  434,  440,   40,  438,  441,   40,   40,
+      442,   40,   40,   40,   40,   40,   40,  443,  447,   40,
+       40,  445,  451,  452,   40,   40,   40,  446,  448,   40,
+      450,  455,  453,  454,  456,  449,   40,   40,   40,  457,
+       40,   40,  458,   40,   40,   40,   40,  462,   40,   40,
+      464,  465,  459,  460,  466,  467,  461,  463,  468,   40,
+       40,  469,   40,   40,   40,   40,  471,   40,   40,   40,
 
-       40,  488,   40,   40,   40,  494,  495,  493,   40,  499,
-      505,   40,  491,  501,   40,  500,  498,  502,   40,  503,
-       40,   40,   40,  504,   40,   40,   40,   40,   40,   40,
-      509,   40,  506,   40,  510,  507,  515,  508,  511,  512,
-       40,  513,  516,   40,  514,   40,   40,   40,  517,   40,
-       40,   40,   40,   40,   40,   40,  518,   40,  519,  524,
-      525,   40,  523,   40,  520,   40,  521,   40,  527,  526,
-      528,  531,  522,   40,  530,  529,  534,   40,  535,   40,
-      532,   40,  536,   40,   40,   40,  533,  542,  537,   40,
-      539,   40,   40,   40,   40,   40,  541,   40,   40,   40,
+       40,   40,  473,   40,   40,  472,  475,  470,  477,  481,
+      480,   40,  474,   40,   40,  483,  478,   40,  476,  486,
+       40,  479,   40,  482,   40,   40,  485,   40,   40,   40,
+       40,   40,   40,   40,  484,  489,  492,  488,   40,  494,
+      487,   40,  491,   40,  543,  501,  496,  490,   40,  495,
+      497,   40,  498,  499,  500,   40,   40,  502,   40,   40,
+      503,  505,   40,   40,  504,  507,  506,   40,   40,   40,
+       40,   40,  511,   40,   40,   40,   40,   40,  512,  509,
+      508,   40,  513,  514,  510,  515,   40,  518,   40,  517,
+       40,   40,  519,   40,   40,  516,   40,   40,  522,  520,
 
-       40,  545,   40,   40,  538,  552,  549,  540,  546,  554,
-       40,  547,  543,  550,  544,   40,   40,  553,  548,  551,
-       40,  556,  555,   40,   40,   40,   40,   40,   40,  559,
-       40,   40,  562,  557,  560,   40,   40,   40,  565,   40,
-       40,   40,   40,   40,  563,  569,  558,  571,   40,  561,
-      567,  568,   40,   40,  570,  572,   40,   40,  566,  564,
-       40,   40,  574,   40,  573,  576,  577,   40,   40,   40,
-      580,   40,   40,   40,   40,  575,  578,   40,  581,   40,
-      584,   40,  582,  583,   40,  586,   40,  592,  589,  579,
-      587,  591,  585,   40,   40,  588,  590,   40,   40,   40,
+       40,   40,  526,  527,  521,   40,  525,   40,   40,  523,
+       40,   40,  529,  528,  532,  530,  524,   40,   40,   40,
+      536,   40,  531,  537,  538,   40,  539,   40,   40,  533,
+       40,  534,  541,   40,   40,  535,   40,   40,   40,   40,
+       40,   40,   40,  547,  540,   40,   40,  556,  551,  553,
+      542,  548,  544,  545,  549,  552,  546,   40,   40,  559,
+      555,  550,   40,   40,  554,  557,   40,  558,   40,   40,
+       40,  561,   40,   40,   40,  564,   40,  562,   40,   40,
+       40,  567,   40,   40,   40,  571,  560,   40,  565,  573,
+       40,  569,  563,   40,  570,   40,   40,  572,   40,  568,
 
-       40,   40,   40,  593,   40,   40,   40,  598,  599,  600,
-       40,   40,  595,  604,  594,   40,   40,   40,   40,  597,
-      596,   40,  603,   40,  605,   40,   40,  602,   40,  601,
-       40,  606,   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,
-      138,   40,  138,  138,   40,  138,  265,   40,  265,  363,
-      363,  363,   40,   40,   40,   40,   40,   40,   40,   40,
-       40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
+       40,  574,  566,   40,   40,  578,  575,  579,   40,   40,
+       40,   40,  576,  582,   40,   40,   40,  586,  577,   40,
+       40,   40,   40,  580,  583,  584,  585,   40,  588,  593,
+      591,   40,  581,  589,  592,   40,   40,  587,  590,   40,
+      594,   40,   40,   40,   40,   40,   40,   40,  595,  600,
+      601,  602,   40,   40,  597,   40,  596,   40,   40,  606,
+       40,   40,  598,  599,  605,   40,  607,   40,   40,  604,
+       40,   40,   40,   40,  603,   40,  608,   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,
@@ -747,166 +747,168 @@
        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
-       40,   40,   40,  264,   40,   40,   40,   40,   40,   39,
-       47,  140,   40,  137,   39,   40,   38,  607,    3,  607,
+       40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
+       40,   40,   40,   40,   40,   40,   40,   40,  261,   40,
 
-      607,  607,  607,  607,  607,  607,  607,  607,  607,  607,
-      607,  607,  607,  607,  607,  607,  607,  607,  607,  607,
-      607,  607,  607,  607,  607,  607,  607,  607,  607,  607,
-      607,  607,  607,  607,  607,  607,  607,  607,  607,  607,
-      607,  607,  607,  607,  607,  607
+       40,   40,   40,   40,  134,   40,   38,  609,    3,  609,
+      609,  609,  609,  609,  609,  609,  609,  609,  609,  609,
+      609,  609,  609,  609,  609,  609,  609,  609,  609,  609,
+      609,  609,  609,  609,  609,  609,  609,  609,  609,  609,
+      609,  609,  609,  609,  609,  609,  609,  609,  609,  609,
+      609,  609
     } ;
 
-static yyconst short int yy_chk[1347] =
+static yyconst short int yy_chk[1353] =
     {   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,   80,   20,
-       80,   64,   35,   35,   58,   12,   13,   13,   13,   13,
-       13,   13,   13,   13,   13,   16,   20,   51,   17,   20,
-       26,   35,   58,   16,   64,   51,   20,   17,   18,   26,
+        1,    1,    1,    9,   58,    9,    9,    9,    9,   10,
+       10,   10,   10,   11,   11,   11,   11,   11,   12,  614,
+       20,   63,   58,   12,   13,   13,   13,   13,   13,   13,
+       14,   14,   14,   14,   14,   14,   16,   20,   46,   17,
+       20,   29,   63,   46,   16,   75,   93,   20,   17,   54,
+       29,   16,   17,   16,   18,   16,   13,   17,   16,   18,
 
-       16,   17,   16,   18,   16,   18,   17,   16,   19,   17,
-       22,   61,   13,   19,   26,   29,   18,   19,   61,   22,
-       18,   19,   21,   19,   29,   22,   19,   21,  614,   21,
-       21,   68,   81,   34,   24,   25,   36,   21,   81,   24,
-       25,   21,   34,   21,   23,   36,   23,   24,   46,   23,
-       23,   23,   24,   25,   27,   68,   24,   46,   23,   25,
-       28,   31,   53,   27,  106,   27,   31,   23,   23,   27,
-       53,   27,   28,   27,   55,   27,   33,   56,   28,   31,
-       52,   33,   31,   28,   30,   57,   55,   60,   56,   31,
-       55,  106,   30,   52,   33,   52,   57,   62,   30,   63,
+       17,   18,   19,   75,   22,   33,   93,   19,   54,   24,
+       33,   19,   18,   22,   24,   19,   18,   19,   23,   22,
+       19,   21,   24,   33,   34,   23,   21,   24,   21,   21,
+       26,   24,   25,   34,   23,   23,   21,   25,   36,   26,
+       21,   28,   21,   35,   35,  612,  608,   36,   26,   55,
+       25,   73,   51,   28,   26,   53,   25,   27,   52,   28,
+       51,   55,   35,   53,   28,   55,   27,   73,   27,   56,
+       57,   52,   27,   52,   27,   60,   27,   61,   27,   30,
+       56,   57,   31,   30,   61,   64,   67,   31,   66,   30,
+       60,   30,   30,   57,   30,   30,   30,   60,   30,   74,
 
-       30,   30,   60,   30,   30,   30,   66,   30,   57,   60,
-       65,   67,   62,   30,   62,   30,   30,   65,   30,   32,
-       63,   73,   69,   77,   72,   75,   67,   32,   74,   65,
-       69,   66,   77,   32,  102,   32,   32,   73,   32,   72,
-       32,   74,   32,   75,   32,   78,   72,  102,   32,   32,
-       42,   42,   42,   42,   42,   42,   42,   42,   47,   47,
-       47,   47,   47,   47,   47,   47,   79,   82,   78,   47,
-      131,   82,  176,  611,  131,   47,   49,   49,   49,   49,
-       49,   49,   49,   49,   79,   84,   49,   49,   71,   49,
-       49,   49,   49,   49,   49,   71,   76,   85,   86,  176,
+       31,   67,   86,   31,   30,   62,   30,   30,   64,   30,
+       31,   32,   74,   66,   86,   32,   42,   42,   42,   42,
+       62,   32,   62,   32,   32,   69,   32,  257,   32,   83,
+       32,  257,   32,   69,   68,   83,   32,   32,   43,   43,
+       43,   43,   44,   44,   44,   44,   44,   45,   45,   45,
+       45,   45,   45,   47,   47,   47,   47,   47,   68,   97,
+       47,  131,   80,  131,   97,  606,   47,   48,   48,   48,
+       48,   48,   48,   49,   49,   49,   49,   49,   80,   49,
+       49,   65,   49,   49,   49,   49,   49,   49,   65,   71,
+       77,   72,   76,   78,   84,   81,   71,   88,  605,   77,
 
-       87,   84,   90,   91,   92,   76,   87,   88,   89,   96,
-      100,   71,   92,   89,   90,  100,   85,   93,   91,   76,
-       86,   86,   95,   86,   88,   89,   97,   98,  105,   96,
-       88,   99,   93,  101,  103,   97,   98,   95,  104,  107,
-       99,  101,  108,  606,  105,  109,  112,  103,  110,   97,
-       98,  105,  109,  114,  112,  108,  115,  110,  111,  104,
-      109,  113,  114,  122,  117,  118,  121,  107,  109,  112,
-      113,  110,  109,  111,  115,  116,  111,  117,  118,  111,
-      120,  116,  111,  123,  113,  121,  118,  124,  125,  126,
-      127,  122,  140,  120,  129,  133,  123,  125,  140,  127,
+       65,   76,   79,   82,   85,   88,   72,   87,   89,   85,
+       91,   84,   71,   72,   81,   76,   78,   84,   94,   92,
+       79,   85,   87,   89,   98,   82,   82,   94,   82,   95,
+       96,   99,   98,   91,   92,  100,  101,  102,   95,   96,
+      103,   94,  104,  105,   99,  107,  110,  112,  100,  114,
+      111,  106,   95,  102,  107,  110,  105,  101,  106,  111,
+      102,  108,  114,  109,  118,  112,  106,  103,  107,  110,
+      104,  109,  119,  604,  106,  113,  108,  115,  106,  108,
+      117,  113,  108,  118,  120,  108,  109,  121,  123,  132,
+      115,  130,  122,  117,  124,  143,  130,  120,  115,  126,
 
-      133,  128,  135,  129,  120,  130,  126,  124,  127,  128,
-      128,  125,  126,  127,  128,  132,  134,  130,  134,  128,
-      136,  146,  128,  135,  147,  149,  152,  128,  132,  150,
-      132,  154,  146,  260,  149,  159,  604,  260,  154,  152,
-      157,  136,  147,  159,  155,  156,  160,  136,  143,  143,
-      150,  143,  143,  143,  143,  143,  143,  143,  143,  155,
-      156,  161,  162,  157,  163,  164,  167,  162,  160,  166,
-      161,  168,  167,  171,  169,  172,  170,  173,  166,  163,
-      164,  174,  166,  169,  168,  170,  175,  177,  180,  185,
-      179,  175,  184,  178,  180,  171,  173,  170,  172,  179,
+      119,  122,  127,  124,  117,  123,  143,  121,  126,  129,
+      132,  123,  124,  133,  127,  122,  128,  124,  125,  144,
+      128,  128,  129,  146,  129,  159,  125,  125,  149,  171,
+      159,  125,  146,  128,  133,  151,  125,  144,  147,  125,
+      133,  149,  151,  152,  125,  136,  136,  136,  136,  137,
+      137,  137,  137,  153,  171,  164,  137,  602,  152,  147,
+      160,  164,  137,  139,  139,  139,  139,  139,  153,  154,
+      139,  156,  157,  161,  169,  160,  139,  140,  140,  156,
+      140,  140,  140,  140,  140,  165,  158,  163,  161,  168,
+      166,  170,  154,  167,  157,  158,  163,  169,  165,  166,
 
-      188,  186,  178,  187,  185,  177,  174,  189,  177,  178,
-      186,  184,  187,  190,  191,  192,  189,  193,  188,  194,
-      195,  196,  205,  192,  198,  209,  187,  190,  193,  208,
-      253,  256,  216,  214,  213,  195,  256,  191,  215,  198,
-      194,  216,  205,  253,  603,  196,  208,  218,  209,  212,
-      212,  212,  212,  212,  212,  212,  212,  213,  214,  212,
-      212,  215,  212,  212,  212,  212,  212,  212,  217,  222,
-      218,  224,  229,  225,  226,  230,  232,  217,  233,  217,
-      234,  224,  225,  217,  235,  217,  237,  238,  229,  236,
-      222,  234,  226,  233,  239,  237,  230,  243,  236,  232,
+      163,  172,  167,  173,  174,  178,  172,  175,  176,  177,
+      170,  168,  179,  182,  167,  177,  175,  176,  184,  180,
+      181,  185,  174,  175,  178,  174,  183,  179,  180,  181,
+      173,  182,  184,  186,  187,  183,  188,  189,  190,  193,
+      200,  186,  203,  181,  185,  187,  204,  211,  219,  221,
+      209,  208,  189,  229,  193,  210,  211,  188,  219,  203,
+      200,  600,  190,  213,  229,  599,  217,  221,  227,  204,
+      207,  207,  207,  207,  208,  209,  207,  207,  210,  207,
+      207,  207,  207,  207,  207,  212,  213,  217,  220,  224,
+      225,  227,  228,  230,  212,  232,  212,  220,  233,  231,
 
-      244,  254,  248,  235,  246,  250,  236,  252,  255,  258,
-      238,  248,  262,  259,  258,  257,  252,  254,  244,  239,
-      243,  246,  250,  257,  263,  265,  255,  259,  266,  266,
-      262,  265,  267,  267,  268,  268,  269,  269,  270,  271,
-      272,  274,  279,  275,  280,  281,  271,  263,  275,  279,
-      282,  283,  285,  284,  286,  270,  283,  272,  274,  287,
-      290,  289,  296,  292,  288,  282,  284,  280,  281,  288,
-      286,  291,  292,  297,  287,  293,  291,  298,  299,  285,
-      289,  290,  293,  302,  303,  296,  305,  306,  307,  303,
-      309,  310,  308,  311,  320,  305,  297,  312,  302,  298,
+      212,  234,  212,  241,  232,  224,  238,  228,  231,  239,
+      243,  225,  230,  245,  247,  248,  231,  249,  250,  243,
+      241,  233,  252,  247,  256,  253,  234,  239,  248,  238,
+      245,  254,  251,  249,  253,  255,  250,  251,  256,  254,
+      255,  259,  260,  252,  262,  262,  262,  262,  330,  263,
+      263,  262,  263,  263,  263,  263,  598,  262,  330,  259,
+      264,  264,  264,  264,  267,  260,  265,  265,  265,  265,
+      265,  266,  266,  266,  266,  266,  268,  269,  271,  272,
+      276,  267,  277,  268,  272,  278,  279,  276,  280,  281,
+      282,  283,  285,  280,  269,  271,  284,  285,  287,  286,
 
-      316,  298,  299,  319,  309,  317,  310,  321,  306,  307,
-      308,  311,  312,  323,  326,  325,  327,  320,  316,  332,
-      317,  326,  323,  328,  329,  321,  330,  319,  325,  333,
-      338,  334,  328,  329,  335,  330,  327,  338,  341,  333,
-      334,  337,  332,  340,  335,  345,  328,  329,  343,  348,
-      337,  349,  340,  341,  345,  343,  350,  351,  352,  348,
-      353,  355,  349,  352,  356,  358,  350,  361,  360,  365,
-      351,  366,  368,  602,  365,  373,  369,  353,  360,  366,
-      361,  370,  355,  369,  371,  356,  370,  372,  358,  374,
-      360,  371,  372,  375,  368,  374,  373,  376,  377,  379,
+      293,  279,  281,  289,  288,  277,  290,  283,  278,  288,
+      294,  284,  289,  290,  295,  296,  299,  282,  286,  287,
+      300,  302,  303,  293,  304,  300,  305,  306,  308,  442,
+      302,  299,  307,  294,  309,  313,  295,  314,  295,  296,
+      316,  306,  317,  303,  305,  304,  308,  307,  318,  309,
+      320,  323,  314,  313,  322,  324,  329,  442,  323,  320,
+      325,  326,  327,  331,  316,  317,  318,  322,  332,  325,
+      326,  327,  331,  334,  335,  324,  337,  338,  332,  329,
+      340,  335,  334,  325,  326,  337,  342,  340,  345,  346,
+      348,  347,  338,  350,  349,  342,  352,  353,  345,  349,
 
-      378,  380,  381,  383,  389,  390,  386,  377,  387,  381,
-      383,  388,  375,  389,  391,  392,  376,  378,  380,  386,
-      390,  387,  379,  393,  394,  395,  398,  397,  388,  399,
-      391,  405,  400,  401,  395,  398,  399,  402,  392,  403,
-      393,  400,  401,  394,  397,  406,  402,  414,  415,  405,
-      416,  418,  403,  419,  423,  420,  426,  428,  415,  427,
-      429,  430,  414,  418,  420,  428,  427,  431,  406,  416,
-      432,  433,  430,  423,  434,  432,  419,  436,  437,  426,
-      431,  439,  440,  429,  441,  443,  442,  444,  445,  440,
-      436,  434,  449,  450,  433,  442,  449,  449,  439,  455,
+      346,  347,  354,  348,  355,  357,  360,  364,  365,  373,
+      350,  359,  364,  354,  367,  373,  365,  352,  353,  360,
+      368,  359,  362,  362,  362,  362,  372,  368,  357,  369,
+      370,  355,  374,  359,  369,  371,  367,  370,  375,  376,
+      371,  377,  378,  379,  387,  380,  382,  372,  376,  385,
+      386,  374,  380,  382,  389,  388,  390,  375,  377,  391,
+      379,  387,  385,  386,  388,  378,  392,  393,  394,  389,
+      396,  397,  390,  405,  398,  399,  400,  394,  402,  401,
+      397,  398,  391,  392,  399,  400,  393,  396,  401,  404,
+      413,  402,  414,  415,  417,  418,  405,  422,  425,  419,
 
-      460,  437,  454,  462,  457,  444,  445,  443,  458,  454,
-      462,  467,  441,  457,  459,  455,  450,  458,  468,  459,
-      469,  471,  484,  460,  472,  478,  483,  479,  485,  486,
-      471,  487,  467,  489,  472,  468,  485,  469,  478,  479,
-      491,  483,  486,  494,  484,  495,  496,  497,  487,  506,
-      498,  500,  501,  502,  504,  503,  489,  507,  491,  498,
-      500,  509,  497,  519,  494,  505,  495,  510,  502,  501,
-      503,  506,  496,  511,  505,  504,  510,  512,  511,  513,
-      507,  514,  512,  515,  516,  517,  509,  519,  513,  520,
-      515,  521,  522,  524,  525,  526,  517,  527,  534,  600,
+      428,  427,  414,  426,  429,  413,  417,  404,  419,  427,
+      426,  431,  415,  432,  433,  429,  422,  434,  418,  433,
+      435,  425,  437,  428,  438,  440,  432,  444,  445,  441,
+      443,  451,  446,  519,  431,  437,  441,  435,  455,  443,
+      434,  456,  440,  461,  519,  455,  445,  438,  450,  444,
+      446,  458,  450,  450,  451,  459,  460,  456,  463,  468,
+      458,  460,  469,  472,  459,  463,  461,  470,  473,  479,
+      485,  480,  472,  486,  488,  489,  491,  496,  473,  469,
+      468,  487,  479,  480,  470,  485,  493,  488,  497,  487,
+      498,  499,  489,  500,  502,  486,  503,  504,  496,  491,
 
-      531,  522,  535,  536,  514,  534,  527,  516,  524,  536,
-      533,  525,  520,  531,  521,  538,  539,  535,  526,  533,
-      540,  539,  538,  542,  545,  546,  547,  548,  549,  545,
-      550,  551,  548,  540,  546,  552,  554,  553,  551,  556,
-      555,  559,  557,  561,  549,  555,  542,  557,  560,  547,
-      553,  554,  562,  565,  556,  559,  563,  564,  552,  550,
-      567,  568,  561,  569,  560,  563,  564,  570,  571,  574,
-      568,  573,  575,  576,  583,  562,  565,  578,  569,  579,
-      573,  581,  570,  571,  582,  575,  584,  583,  579,  567,
-      576,  582,  574,  585,  586,  578,  581,  587,  588,  589,
+      505,  506,  500,  502,  493,  507,  499,  508,  509,  497,
+      511,  512,  504,  503,  507,  505,  498,  515,  513,  514,
+      512,  516,  506,  513,  514,  517,  515,  518,  521,  508,
+      522,  509,  517,  523,  524,  511,  526,  527,  528,  529,
+      535,  538,  533,  524,  516,  537,  542,  538,  529,  535,
+      518,  526,  521,  522,  527,  533,  523,  536,  540,  542,
+      537,  528,  541,  544,  536,  540,  547,  541,  548,  549,
+      550,  547,  551,  552,  553,  550,  554,  548,  555,  556,
+      557,  553,  558,  596,  559,  557,  544,  561,  551,  559,
+      562,  555,  549,  563,  556,  564,  565,  558,  566,  554,
 
-      592,  590,  591,  584,  593,  595,  599,  589,  590,  591,
-      605,  598,  586,  599,  585,  601,  597,  596,  594,  588,
-      587,  580,  595,  577,  601,  572,  566,  593,  558,  592,
-      544,  605,  608,  608,  608,  608,  608,  608,  608,  608,
-      609,  543,  609,  609,  609,  609,  610,  541,  610,  610,
-      537,  610,  612,  532,  612,  612,  612,  612,  612,  612,
-      613,  530,  613,  613,  529,  613,  615,  528,  615,  616,
-      616,  616,  523,  518,  508,  499,  493,  492,  490,  488,
-      482,  481,  480,  477,  476,  475,  474,  473,  470,  466,
-      465,  464,  463,  461,  456,  453,  452,  451,  448,  447,
+      567,  561,  552,  569,  570,  565,  562,  566,  575,  571,
+      572,  573,  563,  570,  576,  577,  578,  575,  564,  583,
+      580,  581,  584,  567,  571,  572,  573,  585,  577,  584,
+      581,  586,  569,  578,  583,  587,  588,  576,  580,  589,
+      585,  591,  590,  592,  593,  594,  595,  597,  586,  591,
+      592,  593,  601,  582,  588,  607,  587,  603,  579,  601,
+      574,  568,  589,  590,  597,  560,  603,  546,  545,  595,
+      543,  539,  534,  532,  594,  531,  607,  610,  610,  610,
+      610,  611,  611,  613,  530,  613,  613,  525,  520,  510,
+      501,  495,  494,  492,  490,  484,  483,  482,  481,  478,
 
-      446,  438,  435,  425,  424,  422,  421,  417,  413,  412,
-      411,  410,  409,  408,  407,  404,  396,  385,  384,  382,
-      367,  364,  362,  359,  357,  354,  347,  346,  344,  342,
-      339,  336,  331,  324,  318,  315,  314,  313,  304,  301,
-      300,  295,  294,  278,  277,  276,  273,  261,  251,  249,
-      247,  245,  242,  241,  240,  231,  228,  227,  223,  221,
-      220,  219,  211,  210,  207,  206,  204,  203,  202,  201,
-      200,  199,  197,  183,  182,  181,  165,  158,  153,  151,
-      148,  145,  141,  137,  119,   94,   83,   70,   59,   48,
-       45,   44,   39,   37,   14,    8,    7,    3,  607,  607,
+      477,  476,  475,  474,  471,  467,  466,  465,  464,  462,
+      457,  454,  453,  452,  449,  448,  447,  439,  436,  430,
+      424,  423,  421,  420,  416,  412,  411,  410,  409,  408,
+      407,  406,  403,  395,  384,  383,  381,  366,  363,  361,
+      358,  356,  351,  344,  343,  341,  339,  336,  333,  328,
+      321,  315,  312,  311,  310,  301,  298,  297,  292,  291,
+      275,  274,  273,  270,  258,  246,  244,  242,  240,  237,
+      236,  235,  226,  223,  222,  218,  216,  215,  214,  206,
+      205,  202,  201,  199,  198,  197,  196,  195,  194,  192,
+      191,  162,  155,  150,  148,  145,  142,  138,  134,  116,
 
-      607,  607,  607,  607,  607,  607,  607,  607,  607,  607,
-      607,  607,  607,  607,  607,  607,  607,  607,  607,  607,
-      607,  607,  607,  607,  607,  607,  607,  607,  607,  607,
-      607,  607,  607,  607,  607,  607,  607,  607,  607,  607,
-      607,  607,  607,  607,  607,  607
+       90,   70,   59,   39,   37,    8,    7,    3,  609,  609,
+      609,  609,  609,  609,  609,  609,  609,  609,  609,  609,
+      609,  609,  609,  609,  609,  609,  609,  609,  609,  609,
+      609,  609,  609,  609,  609,  609,  609,  609,  609,  609,
+      609,  609,  609,  609,  609,  609,  609,  609,  609,  609,
+      609,  609
     } ;
 
 static yy_state_type yy_state_buf[YY_BUF_SIZE + 2], *yy_state_ptr;
@@ -923,7 +925,7 @@
 #define YY_MORE_ADJ 0
 #define YY_RESTORE_YY_MORE_OFFSET
 char *yytext;
-#line 1 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
+#line 1 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
 #define INITIAL 0
 /*===-- UpgradeLexer.l - Scanner for 1.9 assembly files --------*- C++ -*--===//
 //
@@ -938,9 +940,10 @@
 //
 //===----------------------------------------------------------------------===*/
 #define YY_NEVER_INTERACTIVE 1
-#line 28 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-
+#line 28 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
 #include "UpgradeInternals.h"
+#include "llvm/Module.h"
+#include <list>
 #include "UpgradeParser.h"
 #include <cctype>
 #include <cstdlib>
@@ -955,17 +958,108 @@
   } \
 }
 
+#define YY_NEVER_INTERACTIVE 1
 
 // Construct a token value for a non-obsolete token
-#define RET_TOK(sym) \
-  Upgradelval.String = new std::string(yytext); \
+#define RET_TOK(type, Enum, sym) \
+  Upgradelval.type = Enum; \
   return sym
 
-#define RET_TY(sym,OldTY,NewTY,sign) \
-  Upgradelval.Ty = getType(NewTY, OldTY); \
+#define RET_TY(sym,NewTY,sign) \
+  Upgradelval.PrimType.T = NewTY; \
+  Upgradelval.PrimType.S = sign; \
   return sym
 
-#define YY_NEVER_INTERACTIVE 1
+namespace llvm {
+
+// TODO: All of the static identifiers are figured out by the lexer,
+// these should be hashed to reduce the lexer size
+
+// UnEscapeLexed - Run through the specified buffer and change \xx codes to the
+// appropriate character.  If AllowNull is set to false, a \00 value will cause
+// an exception to be thrown.
+//
+// If AllowNull is set to true, the return value of the function points to the
+// last character of the string in memory.
+//
+char *UnEscapeLexed(char *Buffer, bool AllowNull) {
+  char *BOut = Buffer;
+  for (char *BIn = Buffer; *BIn; ) {
+    if (BIn[0] == '\\' && isxdigit(BIn[1]) && isxdigit(BIn[2])) {
+      char Tmp = BIn[3]; BIn[3] = 0;     // Terminate string
+      *BOut = (char)strtol(BIn+1, 0, 16);  // Convert to number
+      if (!AllowNull && !*BOut)
+        error("String literal cannot accept \\00 escape!");
+
+      BIn[3] = Tmp;                  // Restore character
+      BIn += 3;                      // Skip over handled chars
+      ++BOut;
+    } else {
+      *BOut++ = *BIn++;
+    }
+  }
+
+  return BOut;
+}
+
+// atoull - Convert an ascii string of decimal digits into the unsigned long
+// long representation... this does not have to do input error checking,
+// because we know that the input will be matched by a suitable regex...
+//
+static uint64_t atoull(const char *Buffer) {
+  uint64_t Result = 0;
+  for (; *Buffer; Buffer++) {
+    uint64_t OldRes = Result;
+    Result *= 10;
+    Result += *Buffer-'0';
+    if (Result < OldRes)   // Uh, oh, overflow detected!!!
+      error("constant bigger than 64 bits detected!");
+  }
+  return Result;
+}
+
+static uint64_t HexIntToVal(const char *Buffer) {
+  uint64_t Result = 0;
+  for (; *Buffer; ++Buffer) {
+    uint64_t OldRes = Result;
+    Result *= 16;
+    char C = *Buffer;
+    if (C >= '0' && C <= '9')
+      Result += C-'0';
+    else if (C >= 'A' && C <= 'F')
+      Result += C-'A'+10;
+    else if (C >= 'a' && C <= 'f')
+      Result += C-'a'+10;
+
+    if (Result < OldRes)   // Uh, oh, overflow detected!!!
+      error("constant bigger than 64 bits detected!");
+  }
+  return Result;
+}
+
+
+// HexToFP - Convert the ascii string in hexidecimal format to the floating
+// point representation of it.
+//
+static double HexToFP(const char *Buffer) {
+  // Behave nicely in the face of C TBAA rules... see:
+  // http://www.nullstone.com/htmls/category/aliastyp.htm
+  union {
+    uint64_t UI;
+    double FP;
+  } UIntToFP;
+  UIntToFP.UI = HexIntToVal(Buffer);
+
+  assert(sizeof(double) == sizeof(uint64_t) &&
+         "Data sizes incompatible on this target!");
+  return UIntToFP.FP;   // Cast Hex constant to double
+}
+
+
+} // End llvm namespace
+
+using namespace llvm;
+
 /* Comments start with a ; and go till end of line */
 /* Variable(Value) identifiers start with a % sign */
 /* Label identifiers end with a colon */
@@ -982,7 +1076,7 @@
 /* HexIntConstant - Hexadecimal constant generated by the CFE to avoid forcing
  * it to deal with 64 bit numbers.
  */
-#line 986 "UpgradeLexer.cpp"
+#line 1080 "UpgradeLexer.cpp"
 
 /* Macros after this point can all be overridden by user definitions in
  * section 1.
@@ -1133,10 +1227,10 @@
 	register char *yy_cp = NULL, *yy_bp = NULL;
 	register int yy_act;
 
-#line 97 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
+#line 189 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
 
 
-#line 1140 "UpgradeLexer.cpp"
+#line 1234 "UpgradeLexer.cpp"
 
 	if ( yy_init )
 		{
@@ -1184,14 +1278,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 >= 608 )
+				if ( yy_current_state >= 610 )
 					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 != 607 );
+		while ( yy_current_state != 609 );
 
 yy_find_action:
 		yy_current_state = *--yy_state_ptr;
@@ -1229,776 +1323,816 @@
 	{ /* beginning of action switch */
 case 1:
 YY_RULE_SETUP
-#line 99 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
+#line 191 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
 { /* Ignore comments for now */ }
 	YY_BREAK
 case 2:
 YY_RULE_SETUP
-#line 101 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( BEGINTOK); }
+#line 193 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return BEGINTOK; }
 	YY_BREAK
 case 3:
 YY_RULE_SETUP
-#line 102 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( ENDTOK); }
+#line 194 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return ENDTOK; }
 	YY_BREAK
 case 4:
 YY_RULE_SETUP
-#line 103 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( TRUETOK);  }
+#line 195 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return TRUETOK;  }
 	YY_BREAK
 case 5:
 YY_RULE_SETUP
-#line 104 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( FALSETOK); }
+#line 196 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return FALSETOK; }
 	YY_BREAK
 case 6:
 YY_RULE_SETUP
-#line 105 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( DECLARE); }
+#line 197 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return DECLARE; }
 	YY_BREAK
 case 7:
 YY_RULE_SETUP
-#line 106 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( GLOBAL); }
+#line 198 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return GLOBAL; }
 	YY_BREAK
 case 8:
 YY_RULE_SETUP
-#line 107 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( CONSTANT); }
+#line 199 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return CONSTANT; }
 	YY_BREAK
 case 9:
 YY_RULE_SETUP
-#line 108 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( INTERNAL); }
+#line 200 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return INTERNAL; }
 	YY_BREAK
 case 10:
 YY_RULE_SETUP
-#line 109 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( LINKONCE); }
+#line 201 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return LINKONCE; }
 	YY_BREAK
 case 11:
 YY_RULE_SETUP
-#line 110 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( WEAK); }
+#line 202 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return WEAK; }
 	YY_BREAK
 case 12:
 YY_RULE_SETUP
-#line 111 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( APPENDING); }
+#line 203 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return APPENDING; }
 	YY_BREAK
 case 13:
 YY_RULE_SETUP
-#line 112 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( DLLIMPORT); }
+#line 204 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return DLLIMPORT; }
 	YY_BREAK
 case 14:
 YY_RULE_SETUP
-#line 113 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( DLLEXPORT); }
+#line 205 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return DLLEXPORT; }
 	YY_BREAK
 case 15:
 YY_RULE_SETUP
-#line 114 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( EXTERN_WEAK); }
+#line 206 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return EXTERN_WEAK; }
 	YY_BREAK
 case 16:
 YY_RULE_SETUP
-#line 115 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( EXTERNAL); }
+#line 207 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return EXTERNAL; }    /* Deprecated, turn into external */
 	YY_BREAK
 case 17:
 YY_RULE_SETUP
-#line 116 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( UNINITIALIZED); }  // alias for external
+#line 208 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return EXTERNAL; }
 	YY_BREAK
 case 18:
 YY_RULE_SETUP
-#line 117 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( IMPLEMENTATION); }
+#line 209 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return IMPLEMENTATION; }
 	YY_BREAK
 case 19:
 YY_RULE_SETUP
-#line 118 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( ZEROINITIALIZER); }
+#line 210 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return ZEROINITIALIZER; }
 	YY_BREAK
 case 20:
 YY_RULE_SETUP
-#line 119 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( DOTDOTDOT); }
+#line 211 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return DOTDOTDOT; }
 	YY_BREAK
 case 21:
 YY_RULE_SETUP
-#line 120 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( UNDEF); }
+#line 212 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return UNDEF; }
 	YY_BREAK
 case 22:
 YY_RULE_SETUP
-#line 121 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( NULL_TOK); }
+#line 213 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return NULL_TOK; }
 	YY_BREAK
 case 23:
 YY_RULE_SETUP
-#line 122 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( TO); }
+#line 214 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return TO; }
 	YY_BREAK
 case 24:
 YY_RULE_SETUP
-#line 123 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( TAIL); }
+#line 215 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return EXCEPT; }
 	YY_BREAK
 case 25:
 YY_RULE_SETUP
-#line 124 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( TARGET); }
+#line 216 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return NOT; }  /* Deprecated, turned into XOR */
 	YY_BREAK
 case 26:
 YY_RULE_SETUP
-#line 125 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( TRIPLE); }
+#line 217 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return TAIL; }
 	YY_BREAK
 case 27:
 YY_RULE_SETUP
-#line 126 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( DEPLIBS); }
+#line 218 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return TARGET; }
 	YY_BREAK
 case 28:
 YY_RULE_SETUP
-#line 127 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( ENDIAN); }
+#line 219 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return TRIPLE; }
 	YY_BREAK
 case 29:
 YY_RULE_SETUP
-#line 128 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( POINTERSIZE); }
+#line 220 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return DEPLIBS; }
 	YY_BREAK
 case 30:
 YY_RULE_SETUP
-#line 129 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( DATALAYOUT); }
+#line 221 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return ENDIAN; }
 	YY_BREAK
 case 31:
 YY_RULE_SETUP
-#line 130 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( LITTLE); }
+#line 222 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return POINTERSIZE; }
 	YY_BREAK
 case 32:
 YY_RULE_SETUP
-#line 131 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( BIG); }
+#line 223 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return DATALAYOUT; }
 	YY_BREAK
 case 33:
 YY_RULE_SETUP
-#line 132 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( VOLATILE); }
+#line 224 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return LITTLE; }
 	YY_BREAK
 case 34:
 YY_RULE_SETUP
-#line 133 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( ALIGN);  }
+#line 225 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return BIG; }
 	YY_BREAK
 case 35:
 YY_RULE_SETUP
-#line 134 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( SECTION); }
+#line 226 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return VOLATILE; }
 	YY_BREAK
 case 36:
 YY_RULE_SETUP
-#line 135 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( MODULE); }
+#line 227 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return ALIGN;  }
 	YY_BREAK
 case 37:
 YY_RULE_SETUP
-#line 136 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( ASM_TOK); }
+#line 228 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return SECTION; }
 	YY_BREAK
 case 38:
 YY_RULE_SETUP
-#line 137 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( SIDEEFFECT); }
+#line 229 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return MODULE; }
 	YY_BREAK
 case 39:
 YY_RULE_SETUP
-#line 139 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( CC_TOK); }
+#line 230 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return ASM_TOK; }
 	YY_BREAK
 case 40:
 YY_RULE_SETUP
-#line 140 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( CCC_TOK); }
+#line 231 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return SIDEEFFECT; }
 	YY_BREAK
 case 41:
 YY_RULE_SETUP
-#line 141 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( CSRETCC_TOK); }
+#line 233 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return CC_TOK; }
 	YY_BREAK
 case 42:
 YY_RULE_SETUP
-#line 142 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( FASTCC_TOK); }
+#line 234 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return CCC_TOK; }
 	YY_BREAK
 case 43:
 YY_RULE_SETUP
-#line 143 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( COLDCC_TOK); }
+#line 235 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return CSRETCC_TOK; }
 	YY_BREAK
 case 44:
 YY_RULE_SETUP
-#line 144 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( X86_STDCALLCC_TOK); }
+#line 236 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return FASTCC_TOK; }
 	YY_BREAK
 case 45:
 YY_RULE_SETUP
-#line 145 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( X86_FASTCALLCC_TOK); }
+#line 237 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return COLDCC_TOK; }
 	YY_BREAK
 case 46:
 YY_RULE_SETUP
-#line 147 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TY(VOID,VoidTy,"void",false); }
+#line 238 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return X86_STDCALLCC_TOK; }
 	YY_BREAK
 case 47:
 YY_RULE_SETUP
-#line 148 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TY(BOOL,BoolTy,"i1",false); }
+#line 239 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return X86_FASTCALLCC_TOK; }
 	YY_BREAK
 case 48:
 YY_RULE_SETUP
-#line 149 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TY(SBYTE,SByteTy,"i8",true); }
+#line 241 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TY(SBYTE,  Type::Int8Ty,  Signed);  }
 	YY_BREAK
 case 49:
 YY_RULE_SETUP
-#line 150 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TY(UBYTE,UByteTy,"i8",false); }
+#line 242 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TY(UBYTE,  Type::Int8Ty,  Unsigned); }
 	YY_BREAK
 case 50:
 YY_RULE_SETUP
-#line 151 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TY(SHORT,ShortTy,"i16",true); }
+#line 243 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TY(SHORT,  Type::Int16Ty, Signed);  }
 	YY_BREAK
 case 51:
 YY_RULE_SETUP
-#line 152 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TY(USHORT,UShortTy,"i16",false); }
+#line 244 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TY(USHORT, Type::Int16Ty, Unsigned); }
 	YY_BREAK
 case 52:
 YY_RULE_SETUP
-#line 153 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TY(INT,IntTy,"i32",true);   }
+#line 245 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TY(INT,    Type::Int32Ty, Signed);  }
 	YY_BREAK
 case 53:
 YY_RULE_SETUP
-#line 154 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TY(UINT,UIntTy,"i32",false);  }
+#line 246 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TY(UINT,   Type::Int32Ty, Unsigned); }
 	YY_BREAK
 case 54:
 YY_RULE_SETUP
-#line 155 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TY(LONG,LongTy,"i64",true);  }
+#line 247 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TY(LONG,   Type::Int64Ty, Signed);  }
 	YY_BREAK
 case 55:
 YY_RULE_SETUP
-#line 156 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TY(ULONG,ULongTy,"i64",false); }
+#line 248 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TY(ULONG,  Type::Int64Ty, Unsigned); }
 	YY_BREAK
 case 56:
 YY_RULE_SETUP
-#line 157 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TY(UBYTE,UByteTy,"i8",false); }
+#line 249 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TY(VOID,   Type::VoidTy,  Signless  ); }
 	YY_BREAK
 case 57:
 YY_RULE_SETUP
-#line 158 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TY(USHORT,UShortTy,"i16",false); }
+#line 250 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TY(BOOL,   Type::Int1Ty,  Unsigned  ); }
 	YY_BREAK
 case 58:
 YY_RULE_SETUP
-#line 159 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TY(UINT,UIntTy,"i32",false); }
+#line 251 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TY(FLOAT,  Type::FloatTy, Signless ); }
 	YY_BREAK
 case 59:
 YY_RULE_SETUP
-#line 160 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TY(ULONG,ULongTy,"i64",false); }
+#line 252 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TY(DOUBLE, Type::DoubleTy,Signless); }
 	YY_BREAK
 case 60:
 YY_RULE_SETUP
-#line 161 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TY(FLOAT,FloatTy,"float",false); }
+#line 253 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TY(LABEL,  Type::LabelTy, Signless ); }
 	YY_BREAK
 case 61:
 YY_RULE_SETUP
-#line 162 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TY(DOUBLE,DoubleTy,"double",false); }
+#line 254 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return TYPE;   }
 	YY_BREAK
 case 62:
 YY_RULE_SETUP
-#line 163 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TY(LABEL,LabelTy,"label",false); }
+#line 255 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return OPAQUE; }
 	YY_BREAK
 case 63:
 YY_RULE_SETUP
-#line 164 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK(OPAQUE); }
+#line 257 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(BinaryOpVal, AddOp, ADD); }
 	YY_BREAK
 case 64:
 YY_RULE_SETUP
-#line 165 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK(TYPE);   }
+#line 258 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(BinaryOpVal, SubOp, SUB); }
 	YY_BREAK
 case 65:
 YY_RULE_SETUP
-#line 167 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( ADD); }
+#line 259 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(BinaryOpVal, MulOp, MUL); }
 	YY_BREAK
 case 66:
 YY_RULE_SETUP
-#line 168 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( SUB); }
+#line 260 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(BinaryOpVal, DivOp,  DIV); }
 	YY_BREAK
 case 67:
 YY_RULE_SETUP
-#line 169 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( MUL); }
+#line 261 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(BinaryOpVal, UDivOp, UDIV); }
 	YY_BREAK
 case 68:
 YY_RULE_SETUP
-#line 170 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( DIV); }
+#line 262 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(BinaryOpVal, SDivOp, SDIV); }
 	YY_BREAK
 case 69:
 YY_RULE_SETUP
-#line 171 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( UDIV); }
+#line 263 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(BinaryOpVal, FDivOp, FDIV); }
 	YY_BREAK
 case 70:
 YY_RULE_SETUP
-#line 172 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( SDIV); }
+#line 264 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(BinaryOpVal, RemOp,  REM); }
 	YY_BREAK
 case 71:
 YY_RULE_SETUP
-#line 173 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( FDIV); }
+#line 265 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(BinaryOpVal, URemOp, UREM); }
 	YY_BREAK
 case 72:
 YY_RULE_SETUP
-#line 174 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( REM);  }
+#line 266 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(BinaryOpVal, SRemOp, SREM); }
 	YY_BREAK
 case 73:
 YY_RULE_SETUP
-#line 175 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( UREM); }
+#line 267 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(BinaryOpVal, FRemOp, FREM); }
 	YY_BREAK
 case 74:
 YY_RULE_SETUP
-#line 176 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( SREM); }
+#line 268 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(BinaryOpVal, AndOp, AND); }
 	YY_BREAK
 case 75:
 YY_RULE_SETUP
-#line 177 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( FREM); }
+#line 269 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(BinaryOpVal, OrOp , OR ); }
 	YY_BREAK
 case 76:
 YY_RULE_SETUP
-#line 178 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( AND); }
+#line 270 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(BinaryOpVal, XorOp, XOR); }
 	YY_BREAK
 case 77:
 YY_RULE_SETUP
-#line 179 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( OR); }
+#line 271 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(BinaryOpVal, SetNE, SETNE); }
 	YY_BREAK
 case 78:
 YY_RULE_SETUP
-#line 180 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( XOR); }
+#line 272 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(BinaryOpVal, SetEQ, SETEQ); }
 	YY_BREAK
 case 79:
 YY_RULE_SETUP
-#line 181 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( SETNE); }
+#line 273 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(BinaryOpVal, SetLT, SETLT); }
 	YY_BREAK
 case 80:
 YY_RULE_SETUP
-#line 182 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( SETEQ); }
+#line 274 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(BinaryOpVal, SetGT, SETGT); }
 	YY_BREAK
 case 81:
 YY_RULE_SETUP
-#line 183 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( SETLT); }
+#line 275 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(BinaryOpVal, SetLE, SETLE); }
 	YY_BREAK
 case 82:
 YY_RULE_SETUP
-#line 184 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( SETGT); }
+#line 276 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(BinaryOpVal, SetGE, SETGE); }
 	YY_BREAK
 case 83:
 YY_RULE_SETUP
-#line 185 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( SETLE); }
+#line 277 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(OtherOpVal, ICmpOp, ICMP); }
 	YY_BREAK
 case 84:
 YY_RULE_SETUP
-#line 186 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( SETGE); }
+#line 278 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(OtherOpVal, FCmpOp, FCMP); }
 	YY_BREAK
 case 85:
 YY_RULE_SETUP
-#line 187 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK(ICMP); }
+#line 280 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return EQ; }
 	YY_BREAK
 case 86:
 YY_RULE_SETUP
-#line 188 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK(FCMP); }
+#line 281 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return NE; }
 	YY_BREAK
 case 87:
 YY_RULE_SETUP
-#line 189 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK(EQ); }
+#line 282 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return SLT; }
 	YY_BREAK
 case 88:
 YY_RULE_SETUP
-#line 190 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK(NE); }
+#line 283 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return SGT; }
 	YY_BREAK
 case 89:
 YY_RULE_SETUP
-#line 191 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK(SLT); }
+#line 284 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return SLE; }
 	YY_BREAK
 case 90:
 YY_RULE_SETUP
-#line 192 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK(SGT); }
+#line 285 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return SGE; }
 	YY_BREAK
 case 91:
 YY_RULE_SETUP
-#line 193 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK(SLE); }
+#line 286 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return ULT; }
 	YY_BREAK
 case 92:
 YY_RULE_SETUP
-#line 194 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK(SGE); }
+#line 287 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return UGT; }
 	YY_BREAK
 case 93:
 YY_RULE_SETUP
-#line 195 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK(OEQ); }
+#line 288 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return ULE; }
 	YY_BREAK
 case 94:
 YY_RULE_SETUP
-#line 196 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK(ONE); }
+#line 289 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return UGE; }
 	YY_BREAK
 case 95:
 YY_RULE_SETUP
-#line 197 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK(OLT); }
+#line 290 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return OEQ; }
 	YY_BREAK
 case 96:
 YY_RULE_SETUP
-#line 198 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK(OGT); }
+#line 291 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return ONE; }
 	YY_BREAK
 case 97:
 YY_RULE_SETUP
-#line 199 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK(OLE); }
+#line 292 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return OLT; }
 	YY_BREAK
 case 98:
 YY_RULE_SETUP
-#line 200 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK(OGE); }
+#line 293 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return OGT; }
 	YY_BREAK
 case 99:
 YY_RULE_SETUP
-#line 201 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK(ORD); }
+#line 294 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return OLE; }
 	YY_BREAK
 case 100:
 YY_RULE_SETUP
-#line 202 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK(UNO); }
+#line 295 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return OGE; }
 	YY_BREAK
 case 101:
 YY_RULE_SETUP
-#line 203 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK(UEQ); }
+#line 296 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return ORD; }
 	YY_BREAK
 case 102:
 YY_RULE_SETUP
-#line 204 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK(UNE); }
+#line 297 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return UNO; }
 	YY_BREAK
 case 103:
 YY_RULE_SETUP
-#line 205 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK(ULT); }
+#line 298 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return UEQ; }
 	YY_BREAK
 case 104:
 YY_RULE_SETUP
-#line 206 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK(UGT); }
+#line 299 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return UNE; }
 	YY_BREAK
 case 105:
 YY_RULE_SETUP
-#line 207 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK(ULE); }
+#line 301 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(OtherOpVal, PHIOp, PHI_TOK); }
 	YY_BREAK
 case 106:
 YY_RULE_SETUP
-#line 208 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK(UGE); }
+#line 302 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(OtherOpVal, CallOp, CALL); }
 	YY_BREAK
 case 107:
 YY_RULE_SETUP
-#line 210 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( PHI_TOK); }
+#line 303 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(CastOpVal, CastOp, CAST);  }
 	YY_BREAK
 case 108:
 YY_RULE_SETUP
-#line 211 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( CALL); }
+#line 304 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(CastOpVal, TruncOp, TRUNC); }
 	YY_BREAK
 case 109:
 YY_RULE_SETUP
-#line 212 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( CAST); }
+#line 305 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(CastOpVal, ZExtOp , ZEXT); }
 	YY_BREAK
 case 110:
 YY_RULE_SETUP
-#line 213 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( TRUNC); }
+#line 306 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(CastOpVal, SExtOp, SEXT); }
 	YY_BREAK
 case 111:
 YY_RULE_SETUP
-#line 214 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( ZEXT); }
+#line 307 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(CastOpVal, FPTruncOp, FPTRUNC); }
 	YY_BREAK
 case 112:
 YY_RULE_SETUP
-#line 215 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( SEXT); }
+#line 308 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(CastOpVal, FPExtOp, FPEXT); }
 	YY_BREAK
 case 113:
 YY_RULE_SETUP
-#line 216 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( FPTRUNC); }
+#line 309 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(CastOpVal, FPToUIOp, FPTOUI); }
 	YY_BREAK
 case 114:
 YY_RULE_SETUP
-#line 217 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( FPEXT); }
+#line 310 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(CastOpVal, FPToSIOp, FPTOSI); }
 	YY_BREAK
 case 115:
 YY_RULE_SETUP
-#line 218 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( FPTOUI); }
+#line 311 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(CastOpVal, UIToFPOp, UITOFP); }
 	YY_BREAK
 case 116:
 YY_RULE_SETUP
-#line 219 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( FPTOSI); }
+#line 312 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(CastOpVal, SIToFPOp, SITOFP); }
 	YY_BREAK
 case 117:
 YY_RULE_SETUP
-#line 220 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( UITOFP); }
+#line 313 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(CastOpVal, PtrToIntOp, PTRTOINT); }
 	YY_BREAK
 case 118:
 YY_RULE_SETUP
-#line 221 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( SITOFP); }
+#line 314 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(CastOpVal, IntToPtrOp, INTTOPTR); }
 	YY_BREAK
 case 119:
 YY_RULE_SETUP
-#line 222 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( PTRTOINT); }
+#line 315 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(CastOpVal, BitCastOp, BITCAST); }
 	YY_BREAK
 case 120:
 YY_RULE_SETUP
-#line 223 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( INTTOPTR); }
+#line 316 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(OtherOpVal, SelectOp, SELECT); }
 	YY_BREAK
 case 121:
 YY_RULE_SETUP
-#line 224 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( BITCAST); }
+#line 317 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(OtherOpVal, ShlOp, SHL); }
 	YY_BREAK
 case 122:
 YY_RULE_SETUP
-#line 225 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( SELECT); }
+#line 318 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(OtherOpVal, ShrOp, SHR); }
 	YY_BREAK
 case 123:
 YY_RULE_SETUP
-#line 226 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( SHL); }
+#line 319 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(OtherOpVal, LShrOp, LSHR); }
 	YY_BREAK
 case 124:
 YY_RULE_SETUP
-#line 227 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( SHR); }
+#line 320 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(OtherOpVal, AShrOp, ASHR); }
 	YY_BREAK
 case 125:
 YY_RULE_SETUP
-#line 228 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( ASHR); }
+#line 321 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return VANEXT_old; }
 	YY_BREAK
 case 126:
 YY_RULE_SETUP
-#line 229 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( LSHR); }
+#line 322 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return VAARG_old; }
 	YY_BREAK
 case 127:
 YY_RULE_SETUP
-#line 230 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( VAARG); }
+#line 323 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(OtherOpVal, VAArg , VAARG); }
 	YY_BREAK
 case 128:
 YY_RULE_SETUP
-#line 231 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( RET); }
+#line 324 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(TermOpVal, RetOp, RET); }
 	YY_BREAK
 case 129:
 YY_RULE_SETUP
-#line 232 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( BR); }
+#line 325 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(TermOpVal, BrOp, BR); }
 	YY_BREAK
 case 130:
 YY_RULE_SETUP
-#line 233 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( SWITCH); }
+#line 326 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(TermOpVal, SwitchOp, SWITCH); }
 	YY_BREAK
 case 131:
 YY_RULE_SETUP
-#line 234 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( INVOKE); }
+#line 327 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(TermOpVal, InvokeOp, INVOKE); }
 	YY_BREAK
 case 132:
 YY_RULE_SETUP
-#line 235 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( UNWIND); }
+#line 328 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return UNWIND; }
 	YY_BREAK
 case 133:
 YY_RULE_SETUP
-#line 236 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( EXCEPT); } // alias for unwind
+#line 329 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(TermOpVal, UnreachableOp, UNREACHABLE); }
 	YY_BREAK
 case 134:
 YY_RULE_SETUP
-#line 237 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( UNREACHABLE); }
+#line 331 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(MemOpVal, MallocOp, MALLOC); }
 	YY_BREAK
 case 135:
 YY_RULE_SETUP
-#line 239 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( MALLOC); }
+#line 332 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(MemOpVal, AllocaOp, ALLOCA); }
 	YY_BREAK
 case 136:
 YY_RULE_SETUP
-#line 240 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( ALLOCA); }
+#line 333 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(MemOpVal, FreeOp, FREE); }
 	YY_BREAK
 case 137:
 YY_RULE_SETUP
-#line 241 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( FREE); }
+#line 334 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(MemOpVal, LoadOp, LOAD); }
 	YY_BREAK
 case 138:
 YY_RULE_SETUP
-#line 242 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( LOAD); }
+#line 335 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(MemOpVal, StoreOp, STORE); }
 	YY_BREAK
 case 139:
 YY_RULE_SETUP
-#line 243 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( STORE); }
+#line 336 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(MemOpVal, GetElementPtrOp, GETELEMENTPTR); }
 	YY_BREAK
 case 140:
 YY_RULE_SETUP
-#line 244 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( GETELEMENTPTR); }
+#line 338 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(OtherOpVal, ExtractElementOp, EXTRACTELEMENT); }
 	YY_BREAK
 case 141:
 YY_RULE_SETUP
-#line 246 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( EXTRACTELEMENT); }
+#line 339 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(OtherOpVal, InsertElementOp, INSERTELEMENT); }
 	YY_BREAK
 case 142:
 YY_RULE_SETUP
-#line 247 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( INSERTELEMENT); }
+#line 340 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(OtherOpVal, ShuffleVectorOp, SHUFFLEVECTOR); }
 	YY_BREAK
 case 143:
 YY_RULE_SETUP
-#line 248 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( SHUFFLEVECTOR); }
+#line 343 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{
+                  UnEscapeLexed(yytext+1);
+                  Upgradelval.StrVal = strdup(yytext+1);             // Skip %
+                  return VAR_ID;
+                }
 	YY_BREAK
 case 144:
 YY_RULE_SETUP
-#line 251 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( VAR_ID); }
+#line 348 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{
+                  yytext[strlen(yytext)-1] = 0;  // nuke colon
+                  UnEscapeLexed(yytext);
+                  Upgradelval.StrVal = strdup(yytext);
+                  return LABELSTR;
+                }
 	YY_BREAK
 case 145:
 YY_RULE_SETUP
-#line 252 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( LABELSTR); }
+#line 354 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{
+                  yytext[strlen(yytext)-2] = 0;  // nuke colon, end quote
+                  UnEscapeLexed(yytext+1);
+                  Upgradelval.StrVal = strdup(yytext+1);
+                  return LABELSTR;
+                }
 	YY_BREAK
 case 146:
 YY_RULE_SETUP
-#line 253 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( LABELSTR); }
+#line 361 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ // Note that we cannot unescape a string constant here!  The
+                   // string constant might contain a \00 which would not be
+                   // understood by the string stuff.  It is valid to make a
+                   // [sbyte] c"Hello World\00" constant, for example.
+                   //
+                   yytext[strlen(yytext)-1] = 0;           // nuke end quote
+                   Upgradelval.StrVal = strdup(yytext+1);  // Nuke start quote
+                   return STRINGCONSTANT;
+                 }
 	YY_BREAK
 case 147:
 YY_RULE_SETUP
-#line 254 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( STRINGCONSTANT ); }
+#line 372 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ Upgradelval.UInt64Val = atoull(yytext); return EUINT64VAL; }
 	YY_BREAK
 case 148:
 YY_RULE_SETUP
-#line 255 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( EUINT64VAL ); }
+#line 373 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{
+                  uint64_t Val = atoull(yytext+1);
+                  // +1:  we have bigger negative range
+                  if (Val > (uint64_t)INT64_MAX+1)
+                    error("Constant too large for signed 64 bits!");
+                  Upgradelval.SInt64Val = -Val;
+                  return ESINT64VAL;
+                }
 	YY_BREAK
 case 149:
 YY_RULE_SETUP
-#line 256 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( ESINT64VAL ); }
+#line 381 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{
+                   Upgradelval.UInt64Val = HexIntToVal(yytext+3);
+                   return yytext[0] == 's' ? ESINT64VAL : EUINT64VAL;
+                 }
 	YY_BREAK
 case 150:
 YY_RULE_SETUP
-#line 257 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( yytext[0] == 's' ? ESINT64VAL : EUINT64VAL ); }
+#line 386 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{
+                  uint64_t Val = atoull(yytext+1);
+                  if ((unsigned)Val != Val)
+                    error("Invalid value number (too large)!");
+                  Upgradelval.UIntVal = unsigned(Val);
+                  return UINTVAL;
+                }
 	YY_BREAK
 case 151:
 YY_RULE_SETUP
-#line 258 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( UINTVAL); }
+#line 393 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{
+                  uint64_t Val = atoull(yytext+2);
+                  // +1:  we have bigger negative range
+                  if (Val > (uint64_t)INT32_MAX+1)
+                    error("Constant too large for signed 32 bits!");
+                  Upgradelval.SIntVal = (int)-Val;
+                  return SINTVAL;
+                }
 	YY_BREAK
 case 152:
 YY_RULE_SETUP
-#line 259 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( SINTVAL); }
+#line 402 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ Upgradelval.FPVal = atof(yytext); return FPVAL; }
 	YY_BREAK
 case 153:
 YY_RULE_SETUP
-#line 260 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( FPVAL); }
-	YY_BREAK
-case 154:
-YY_RULE_SETUP
-#line 261 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( FPVAL); }
+#line 403 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ Upgradelval.FPVal = HexToFP(yytext); return FPVAL; }
 	YY_BREAK
 case YY_STATE_EOF(INITIAL):
-#line 262 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
+#line 405 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
 {
                   /* Make sure to free the internal buffers for flex when we are
                    * done reading our input!
@@ -2007,22 +2141,22 @@
                   return EOF;
                 }
 	YY_BREAK
+case 154:
+YY_RULE_SETUP
+#line 413 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ /* Ignore whitespace */ }
+	YY_BREAK
 case 155:
 YY_RULE_SETUP
-#line 270 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ /* Ignore whitespace */ }
+#line 414 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return yytext[0]; }
 	YY_BREAK
 case 156:
 YY_RULE_SETUP
-#line 271 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
-{ return yytext[0]; }
-	YY_BREAK
-case 157:
-YY_RULE_SETUP
-#line 273 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
+#line 416 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
 YY_FATAL_ERROR( "flex scanner jammed" );
 	YY_BREAK
-#line 2026 "UpgradeLexer.cpp"
+#line 2160 "UpgradeLexer.cpp"
 
 	case YY_END_OF_BUFFER:
 		{
@@ -2309,7 +2443,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 >= 608 )
+			if ( yy_current_state >= 610 )
 				yy_c = yy_meta[(unsigned int) yy_c];
 			}
 		yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
@@ -2339,11 +2473,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 >= 608 )
+		if ( yy_current_state >= 610 )
 			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 == 607);
+	yy_is_jam = (yy_current_state == 609);
 	if ( ! yy_is_jam )
 		*yy_state_ptr++ = yy_current_state;
 
@@ -2900,5 +3034,5 @@
 	return 0;
 	}
 #endif
-#line 273 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeLexer.l"
+#line 416 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"