Files missing from LABEL check in.
[oota-llvm.git] / utils / TableGen / FileLexer.cpp.cvs
index e1f7b5434ffdcc82c4c6277f8d3887cf3d508216..e097507e40844bb63d9a98bf886ccb5a38e78b9a 100644 (file)
@@ -306,39 +306,43 @@ static void yy_fatal_error YY_PROTO(( yyconst char msg[] ));
        *yy_cp = '\0'; \
        yy_c_buf_p = yy_cp;
 
-#define YY_NUM_RULES 31
-#define YY_END_OF_BUFFER 32
-static yyconst short int yy_acclist[129] =
+#define YY_NUM_RULES 34
+#define YY_END_OF_BUFFER 35
+static yyconst short int yy_acclist[145] =
     {   0,
-       25,   25,   32,   30,   31,   23,   30,   31,   23,   31,
-       30,   31,   30,   31,   30,   31,   30,   31,   30,   31,
-       22,   30,   31,   22,   30,   31,   19,   30,   31,   30,
-       31,   19,   30,   31,   19,   30,   31,   19,   30,   31,
-       19,   30,   31,   19,   30,   31,   19,   30,   31,   19,
-       30,   31,   25,   31,   26,   31,   28,   31,   23,   21,
-       20,   22,   24,    1,   19,   19,   19,   19,   19,   19,
-       19,   15,   19,   19,   19,   19,   25,   26,   26,   29,
-       28,   27,   28,   20,    1,   22,   22,    5,   19,   19,
-       19,   10,   19,   12,   19,   19,   19,    4,   19,   14,
-
-       19,   19,   19,   18,   16,   17,    3,    6,   19,   19,
-        9,   19,   19,   19,    8,   19,   19,   11,   19,   13,
-       19,   19,   19,   19,    7,   19,   19,    2
+       28,   28,   35,   33,   34,   26,   33,   34,   26,   34,
+       33,   34,   33,   34,   33,   34,   33,   34,   33,   34,
+       25,   33,   34,   25,   33,   34,   22,   33,   34,   33,
+       34,   22,   33,   34,   22,   33,   34,   22,   33,   34,
+       22,   33,   34,   22,   33,   34,   22,   33,   34,   22,
+       33,   34,   22,   33,   34,   28,   34,   29,   34,   31,
+       34,   26,   24,   23,   25,   27,    1,   22,   22,   22,
+       22,   22,   22,   22,   17,   22,   22,   22,   22,   22,
+       28,   29,   29,   32,   31,   30,   31,   23,    1,   25,
+       25,    5,   22,   22,   22,   10,   22,   12,   22,   22,
+
+       22,    4,   22,   16,   22,   22,   22,   22,   20,   18,
+       19,    3,    6,   22,   22,    9,   22,   13,   22,   22,
+       22,    8,   22,   22,   22,   11,   22,   15,   22,   22,
+       22,   22,   22,   22,    7,   22,   22,   22,   22,   22,
+       21,    2,   14,   22
     } ;
 
-static yyconst short int yy_accept[101] =
+static yyconst short int yy_accept[120] =
     {   0,
         1,    1,    1,    2,    3,    4,    6,    9,   11,   13,
        15,   17,   19,   21,   24,   27,   30,   32,   35,   38,
-       41,   44,   47,   50,   53,   55,   57,   59,   60,   60,
-       60,   61,   62,   63,   64,   65,   65,   65,   66,   66,
-       67,   68,   69,   70,   71,   72,   74,   75,   76,   77,
-       78,   79,   80,   81,   82,   83,   84,   84,   84,   85,
-       86,   87,   88,   88,   88,   90,   91,   92,   94,   96,
-       97,   98,  100,  102,  103,  104,  105,  106,  107,  107,
-      108,  110,  111,  113,  114,  115,  117,  118,  120,  122,
-      123,  124,  125,  127,  128,  128,  128,  128,  129,  129
-
+       41,   44,   47,   50,   53,   56,   58,   60,   62,   63,
+       63,   63,   64,   65,   66,   67,   68,   68,   68,   69,
+       69,   70,   71,   72,   73,   74,   75,   77,   78,   79,
+       80,   81,   82,   83,   84,   85,   86,   87,   88,   88,
+       88,   88,   89,   90,   91,   92,   92,   92,   94,   95,
+       96,   98,  100,  101,  102,  104,  106,  107,  108,  109,
+      110,  111,  112,  112,  112,  113,  115,  116,  118,  120,
+      121,  122,  124,  125,  126,  126,  128,  130,  131,  132,
+
+      133,  133,  134,  135,  137,  137,  138,  139,  139,  139,
+      140,  140,  140,  141,  142,  142,  143,  145,  145
     } ;
 
 static yyconst int yy_ec[256] =
@@ -354,9 +358,9 @@ static yyconst int yy_ec[256] =
        15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
        16,    1,   17,    1,   15,    1,   18,   19,   20,   21,
 
-       22,   23,   24,   25,   26,   15,   15,   27,   15,   28,
-       29,   15,   15,   30,   31,   32,   33,   15,   15,   34,
-       15,   15,   35,    1,   36,    1,    1,    1,    1,    1,
+       22,   23,   24,   25,   26,   15,   15,   27,   28,   29,
+       30,   15,   15,   31,   32,   33,   34,   15,   15,   35,
+       15,   15,   36,    1,   37,    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,
@@ -373,106 +377,114 @@ static yyconst int yy_ec[256] =
         1,    1,    1,    1,    1
     } ;
 
-static yyconst int yy_meta[37] =
+static yyconst int yy_meta[38] =
     {   0,
         1,    1,    2,    1,    1,    1,    1,    3,    1,    3,
         4,    4,    4,    5,    6,    1,    1,    5,    5,    5,
         5,    5,    5,    6,    6,    6,    6,    6,    6,    6,
-        6,    6,    6,    6,    1,    1
+        6,    6,    6,    6,    6,    1,    1
     } ;
 
-static yyconst short int yy_base[113] =
+static yyconst short int yy_base[132] =
     {   0,
-        0,    0,   29,   30,  199,  200,   39,   42,  167,  191,
-        0,   36,   42,   42,   45,    0,  161,  169,   33,   41,
-      168,  165,   42,  160,    0,   57,   61,   70,   45,  185,
-      200,    0,   66,  200,    0,   69,    0,    0,  154,  157,
-      170,  166,  162,  162,  162,   62,  151,  151,  151,    0,
-       75,   76,  200,   79,  200,   80,  153,   73,    0,    0,
-       81,    0,  143,  161,  146,  145,  153,    0,    0,  147,
-      146,    0,    0,  140,  145,  200,  200,  200,  134,  200,
-        0,  138,    0,  147,  134,    0,  138,    0,    0,  120,
-       97,   77,    0,   93,   95,   60,   45,  200,  200,  101,
-
-      107,  109,  112,  118,  124,  130,  133,  139,  142,  147,
-      153,  159
+        0,    0,   30,   31,  218,  219,   40,   43,  185,  210,
+        0,   37,   43,   43,   46,    0,  179,  188,   33,   43,
+      187,  183,   42,  177,  177,    0,   59,   62,   71,   46,
+      203,  219,    0,   69,  219,    0,   72,    0,    0,  171,
+      174,  188,  184,  180,  180,  180,   56,  168,  168,  172,
+      167,    0,   77,   78,  219,   82,  219,   83,  170,   76,
+      165,    0,    0,   84,    0,  158,  177,  161,  160,  169,
+        0,  162,  162,  161,    0,    0,  154,  153,  159,  219,
+      219,  219,  164,  146,  219,    0,  150,    0,    0,  160,
+      146,    0,  153,  149,  147,    0,    0,  155,  155,  150,
+
+      144,  150,  144,    0,  150,   95,  151,  126,   98,   92,
+       69,   93,   34,  219,   46,  219,    0,  219,  104,  110,
+      112,  115,  121,  127,  133,  136,  142,  145,  150,  156,
+      162
     } ;
 
-static yyconst short int yy_def[113] =
+static yyconst short int yy_def[132] =
     {   0,
-       99,    1,  100,  100,   99,   99,   99,   99,   99,  101,
-      102,   99,   99,   99,   99,  103,   99,  103,  103,  103,
-      103,  103,  103,  103,  104,  105,  106,   99,   99,  101,
-       99,  107,   99,   99,  108,   99,  109,  103,  110,  103,
-      103,  103,  103,  103,  103,  103,  103,  103,  103,  104,
-      105,  105,   99,  106,   99,  106,   99,   99,  107,  108,
-       99,  109,  110,  111,  103,  103,  103,  103,  103,  103,
-      103,  103,  103,  103,  103,   99,   99,   99,  110,   99,
-      103,  103,  103,  103,  103,  103,  103,  103,  103,  103,
-      103,  103,  103,  103,   99,  112,  112,   99,    0,   99,
-
-       99,   99,   99,   99,   99,   99,   99,   99,   99,   99,
-       99,   99
+      118,    1,  119,  119,  118,  118,  118,  118,  118,  120,
+      121,  118,  118,  118,  118,  122,  118,  122,  122,  122,
+      122,  122,  122,  122,  122,  123,  124,  125,  118,  118,
+      120,  118,  126,  118,  118,  127,  118,  128,  122,  129,
+      122,  122,  122,  122,  122,  122,  122,  122,  122,  122,
+      122,  123,  124,  124,  118,  125,  118,  125,  118,  118,
+      118,  126,  127,  118,  128,  129,  130,  122,  122,  122,
+      122,  122,  122,  122,  122,  122,  122,  122,  122,  118,
+      118,  118,  118,  129,  118,  122,  122,  122,  122,  122,
+      122,  122,  122,  122,  118,  122,  122,  122,  122,  122,
+
+      118,  122,  122,  122,  118,  122,  122,  118,  118,  122,
+      118,  131,  122,  118,  131,  118,  122,    0,  118,  118,
+      118,  118,  118,  118,  118,  118,  118,  118,  118,  118,
+      118
     } ;
 
-static yyconst short int yy_nxt[237] =
+static yyconst short int yy_nxt[257] =
     {   0,
         6,    7,    8,    7,    9,   10,   11,    6,   12,   13,
        14,   15,   15,   16,   16,   17,    6,   16,   18,   19,
-       20,   16,   21,   16,   16,   22,   23,   16,   16,   16,
-       24,   16,   16,   16,    6,    6,   26,   26,   27,   27,
-       28,   28,   28,   28,   28,   28,   33,   33,   33,   34,
-       98,   35,   33,   33,   33,   33,   33,   33,   43,   41,
-       36,   42,   44,   47,   52,   98,   53,   48,   55,   57,
-       56,   28,   28,   28,   58,   37,   33,   33,   33,   61,
-       61,   71,   99,   52,   99,   53,   99,   99,   99,   56,
-       77,   61,   61,   72,   95,   95,   95,   95,   94,   78,
-
-       96,   25,   25,   25,   25,   25,   25,   30,   30,   30,
-       30,   30,   30,   32,   32,   38,   38,   38,   50,   50,
-       93,   50,   50,   50,   51,   51,   51,   51,   51,   51,
-       54,   54,   54,   54,   54,   54,   59,   59,   59,   60,
-       92,   60,   60,   60,   60,   62,   62,   63,   63,   63,
-       63,   63,   63,   79,   79,   79,   79,   79,   79,   97,
-       97,   97,   97,   97,   97,   91,   90,   89,   88,   64,
-       87,   86,   85,   84,   83,   82,   81,   80,   64,   76,
-       75,   74,   73,   70,   69,   68,   67,   66,   65,   64,
-       31,   49,   46,   45,   40,   39,   31,   29,   99,    5,
-
-       99,   99,   99,   99,   99,   99,   99,   99,   99,   99,
-       99,   99,   99,   99,   99,   99,   99,   99,   99,   99,
-       99,   99,   99,   99,   99,   99,   99,   99,   99,   99,
-       99,   99,   99,   99,   99,   99
+       20,   16,   21,   16,   16,   22,   23,   24,   16,   16,
+       16,   25,   16,   16,   16,    6,    6,   27,   27,   28,
+       28,   29,   29,   29,   29,   29,   29,   34,   34,   34,
+       35,  116,   36,   34,   34,   34,   34,   34,   34,   42,
+       44,   37,   43,   48,   45,  117,   54,   49,   55,   57,
+       59,   58,   29,   29,   29,   74,   60,   38,   61,   34,
+       34,   34,   64,   64,  118,   54,  118,   55,   75,  118,
+      118,  118,   58,   81,   64,   64,  109,  109,  116,  109,
+
+      109,  114,   82,  112,   26,   26,   26,   26,   26,   26,
+       31,   31,   31,   31,   31,   31,   33,   33,   39,   39,
+       39,   52,   52,  113,   52,   52,   52,   53,   53,   53,
+       53,   53,   53,   56,   56,   56,   56,   56,   56,   62,
+       62,   62,   63,  111,   63,   63,   63,   63,   65,   65,
+       66,   66,   66,   66,   66,   66,   84,   84,   84,   84,
+       84,   84,  115,  115,  115,  115,  115,  115,  110,  108,
+      107,  106,  105,  104,  103,  102,  101,  100,   99,   98,
+       97,   96,   67,   95,   94,   93,   92,   91,   90,   89,
+       88,   87,   86,   85,   67,   83,   80,   79,   78,   77,
+
+       76,   73,   72,   71,   70,   69,   68,   67,   32,   51,
+       50,   47,   46,   41,   40,   32,   30,  118,    5,  118,
+      118,  118,  118,  118,  118,  118,  118,  118,  118,  118,
+      118,  118,  118,  118,  118,  118,  118,  118,  118,  118,
+      118,  118,  118,  118,  118,  118,  118,  118,  118,  118,
+      118,  118,  118,  118,  118,  118
     } ;
 
-static yyconst short int yy_chk[237] =
+static yyconst short int yy_chk[257] =
     {   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,    3,    4,    3,    4,
-        7,    7,    7,    8,    8,    8,   12,   12,   12,   13,
-       97,   13,   14,   14,   14,   15,   15,   15,   20,   19,
-       14,   19,   20,   23,   26,   96,   26,   23,   27,   29,
-       27,   28,   28,   28,   29,   14,   33,   33,   33,   36,
-       36,   46,   51,   52,   51,   52,   54,   56,   54,   56,
-       58,   61,   61,   46,   94,   94,   95,   95,   92,   58,
-
-       95,  100,  100,  100,  100,  100,  100,  101,  101,  101,
-      101,  101,  101,  102,  102,  103,  103,  103,  104,  104,
-       91,  104,  104,  104,  105,  105,  105,  105,  105,  105,
-      106,  106,  106,  106,  106,  106,  107,  107,  107,  108,
-       90,  108,  108,  108,  108,  109,  109,  110,  110,  110,
-      110,  110,  110,  111,  111,  111,  111,  111,  111,  112,
-      112,  112,  112,  112,  112,   87,   85,   84,   82,   79,
-       75,   74,   71,   70,   67,   66,   65,   64,   63,   57,
-       49,   48,   47,   45,   44,   43,   42,   41,   40,   39,
-       30,   24,   22,   21,   18,   17,   10,    9,    5,   99,
-
-       99,   99,   99,   99,   99,   99,   99,   99,   99,   99,
-       99,   99,   99,   99,   99,   99,   99,   99,   99,   99,
-       99,   99,   99,   99,   99,   99,   99,   99,   99,   99,
-       99,   99,   99,   99,   99,   99
+        1,    1,    1,    1,    1,    1,    1,    3,    4,    3,
+        4,    7,    7,    7,    8,    8,    8,   12,   12,   12,
+       13,  115,   13,   14,   14,   14,   15,   15,   15,   19,
+       20,   14,   19,   23,   20,  113,   27,   23,   27,   28,
+       30,   28,   29,   29,   29,   47,   30,   14,   30,   34,
+       34,   34,   37,   37,   53,   54,   53,   54,   47,   56,
+       58,   56,   58,   60,   64,   64,  106,  106,  112,  109,
+
+      109,  111,   60,  109,  119,  119,  119,  119,  119,  119,
+      120,  120,  120,  120,  120,  120,  121,  121,  122,  122,
+      122,  123,  123,  110,  123,  123,  123,  124,  124,  124,
+      124,  124,  124,  125,  125,  125,  125,  125,  125,  126,
+      126,  126,  127,  108,  127,  127,  127,  127,  128,  128,
+      129,  129,  129,  129,  129,  129,  130,  130,  130,  130,
+      130,  130,  131,  131,  131,  131,  131,  131,  107,  105,
+      103,  102,  101,  100,   99,   98,   95,   94,   93,   91,
+       90,   87,   84,   83,   79,   78,   77,   74,   73,   72,
+       70,   69,   68,   67,   66,   61,   59,   51,   50,   49,
+
+       48,   46,   45,   44,   43,   42,   41,   40,   31,   25,
+       24,   22,   21,   18,   17,   10,    9,    5,  118,  118,
+      118,  118,  118,  118,  118,  118,  118,  118,  118,  118,
+      118,  118,  118,  118,  118,  118,  118,  118,  118,  118,
+      118,  118,  118,  118,  118,  118,  118,  118,  118,  118,
+      118,  118,  118,  118,  118,  118
     } ;
 
 static yy_state_type yy_state_buf[YY_BUF_SIZE + 2], *yy_state_ptr;
@@ -489,7 +501,7 @@ goto find_rule; \
 #define YY_MORE_ADJ 0
 #define YY_RESTORE_YY_MORE_OFFSET
 char *yytext;
-#line 1 "/Users/sabre/cvs/llvm/utils/TableGen/FileLexer.l"
+#line 1 "/Volumes/Gir/devel/llvm/llvm.src/utils/TableGen/FileLexer.l"
 #define INITIAL 0
 /*===-- FileLexer.l - Scanner for TableGen Files ----------------*- C++ -*-===//
 // 
@@ -507,7 +519,9 @@ char *yytext;
 #define YY_NEVER_INTERACTIVE 1
 #define comment 1
 
-#line 30 "/Users/sabre/cvs/llvm/utils/TableGen/FileLexer.l"
+#line 30 "/Volumes/Gir/devel/llvm/llvm.src/utils/TableGen/FileLexer.l"
+#include "llvm/Config/config.h"
+#include "llvm/Support/Streams.h"
 #include "Record.h"
 typedef std::pair<llvm::Record*, std::vector<llvm::Init*>*> SubClassRefTy;
 #include "FileParser.h"
@@ -517,14 +531,14 @@ int Fileparse();
 namespace llvm {
 
 // Global variable recording the location of the include directory
-std::string IncludeDirectory;
+std::vector<std::string> IncludeDirectories;
 
 /// ParseInt - This has to handle the special case of binary numbers 0b0101
 ///
 static int ParseInt(const char *Str) {
   if (Str[0] == '0' && Str[1] == 'b')
-    return strtol(Str+2, 0, 2);
-  return strtol(Str, 0, 0); 
+    return strtoll(Str+2, 0, 2);
+  return strtoll(Str, 0, 0); 
 }
 
 static int CommentDepth = 0;
@@ -543,25 +557,29 @@ struct IncludeRec {
 static std::vector<IncludeRec> IncludeStack;
 
 std::ostream &err() {
-  if (IncludeStack.empty())
-    return std::cerr << "At end of input: ";
+  if (IncludeStack.empty()) {
+    cerr << "At end of input: ";
+    return *cerr.stream();
+  }
 
   for (unsigned i = 0, e = IncludeStack.size()-1; i != e; ++i)
-    std::cerr << "Included from " << IncludeStack[i].Filename << ":"
-              << IncludeStack[i].LineNo << ":\n";
-  return std::cerr << "Parsing " << IncludeStack.back().Filename << ":"
-                   << Filelineno << ": ";
+    cerr << "Included from " << IncludeStack[i].Filename << ":"
+         << IncludeStack[i].LineNo << ":\n";
+  cerr << "Parsing " << IncludeStack.back().Filename << ":"
+       << Filelineno << ": ";
+  return *cerr.stream();
 }
 
 /// ParseFile - this function begins the parsing of the specified tablegen file.
 ///
-void ParseFile(const std::string &Filename, const std::string & IncludeDir) {
+void ParseFile(const std::string &Filename, 
+               const std::vector<std::string> &IncludeDirs) {
   FILE *F = stdin;
   if (Filename != "-") {
     F = fopen(Filename.c_str(), "r");
 
     if (F == 0) {
-      std::cerr << "Could not open input file '" + Filename + "'!\n";
+      cerr << "Could not open input file '" + Filename + "'!\n";
       exit (1);
     }
     IncludeStack.push_back(IncludeRec(Filename, F));
@@ -571,7 +589,7 @@ void ParseFile(const std::string &Filename, const std::string & IncludeDir) {
 
   // Record the location of the include directory so that the lexer can find
   // it later.
-  IncludeDirectory = IncludeDir;
+  IncludeDirectories = IncludeDirs;
  
   Filein = F;
   Filelineno = 1;
@@ -593,7 +611,7 @@ static void HandleInclude(const char *Buffer) {
   }
   assert(Length >= 2 && "Double quotes not found?");
   std::string Filename(Buffer+1, Buffer+Length-1);
-  //std::cerr << "Filename = '" << Filename << "'\n";
+  //cerr << "Filename = '" << Filename << "'\n";
 
   // Save the line number and lex buffer of the includer...
   IncludeStack.back().LineNo = Filelineno;
@@ -605,10 +623,13 @@ static void HandleInclude(const char *Buffer) {
     // If we couldn't find the file in the current directory, look for it in
     // the include directories.
     //
-    // NOTE: Right now, there is only one directory.  We need to eventually add
-    // support for more.
-    std::string NextFilename = IncludeDirectory + "/" + Filename;
-    yyin = fopen(NextFilename.c_str(), "r");
+    std::string NextFilename;
+    for (unsigned i = 0, e = IncludeDirectories.size(); i != e; ++i) {
+      NextFilename = IncludeDirectories[i] + "/" + Filename;
+      if ((yyin = fopen(NextFilename.c_str(), "r")))
+        break;
+    }
+    
     if (yyin == 0) {
       err() << "Could not find include file '" << Filename << "'!\n";
       exit(1);
@@ -644,7 +665,7 @@ int yywrap(void) {
 
 using namespace llvm;
 
-#line 648 "Lexer.cpp"
+#line 669 "Lexer.cpp"
 
 /* Macros after this point can all be overridden by user definitions in
  * section 1.
@@ -795,10 +816,10 @@ YY_DECL
        register char *yy_cp, *yy_bp;
        register int yy_act;
 
-#line 176 "/Users/sabre/cvs/llvm/utils/TableGen/FileLexer.l"
+#line 185 "/Volumes/Gir/devel/llvm/llvm.src/utils/TableGen/FileLexer.l"
 
 
-#line 802 "Lexer.cpp"
+#line 823 "Lexer.cpp"
 
        if ( yy_init )
                {
@@ -846,14 +867,14 @@ yy_match:
                        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 >= 100 )
+                               if ( yy_current_state >= 119 )
                                        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 != 99 );
+               while ( yy_current_state != 118 );
 
 yy_find_action:
                yy_current_state = *--yy_state_ptr;
@@ -891,168 +912,183 @@ do_action:      /* This label is used only to access EOF actions. */
        { /* beginning of action switch */
 case 1:
 YY_RULE_SETUP
-#line 178 "/Users/sabre/cvs/llvm/utils/TableGen/FileLexer.l"
+#line 187 "/Volumes/Gir/devel/llvm/llvm.src/utils/TableGen/FileLexer.l"
 { /* Ignore comments */ }
        YY_BREAK
 case 2:
 YY_RULE_SETUP
-#line 180 "/Users/sabre/cvs/llvm/utils/TableGen/FileLexer.l"
+#line 189 "/Volumes/Gir/devel/llvm/llvm.src/utils/TableGen/FileLexer.l"
 { HandleInclude(yytext); }
        YY_BREAK
 case 3:
 YY_RULE_SETUP
-#line 181 "/Users/sabre/cvs/llvm/utils/TableGen/FileLexer.l"
+#line 190 "/Volumes/Gir/devel/llvm/llvm.src/utils/TableGen/FileLexer.l"
 { Filelval.StrVal = new std::string(yytext+2, yytext+yyleng-2);
                  return CODEFRAGMENT; }
        YY_BREAK
 case 4:
 YY_RULE_SETUP
-#line 184 "/Users/sabre/cvs/llvm/utils/TableGen/FileLexer.l"
+#line 193 "/Volumes/Gir/devel/llvm/llvm.src/utils/TableGen/FileLexer.l"
 { return INT; }
        YY_BREAK
 case 5:
 YY_RULE_SETUP
-#line 185 "/Users/sabre/cvs/llvm/utils/TableGen/FileLexer.l"
+#line 194 "/Volumes/Gir/devel/llvm/llvm.src/utils/TableGen/FileLexer.l"
 { return BIT; }
        YY_BREAK
 case 6:
 YY_RULE_SETUP
-#line 186 "/Users/sabre/cvs/llvm/utils/TableGen/FileLexer.l"
+#line 195 "/Volumes/Gir/devel/llvm/llvm.src/utils/TableGen/FileLexer.l"
 { return BITS; }
        YY_BREAK
 case 7:
 YY_RULE_SETUP
-#line 187 "/Users/sabre/cvs/llvm/utils/TableGen/FileLexer.l"
+#line 196 "/Volumes/Gir/devel/llvm/llvm.src/utils/TableGen/FileLexer.l"
 { return STRING; }
        YY_BREAK
 case 8:
 YY_RULE_SETUP
-#line 188 "/Users/sabre/cvs/llvm/utils/TableGen/FileLexer.l"
+#line 197 "/Volumes/Gir/devel/llvm/llvm.src/utils/TableGen/FileLexer.l"
 { return LIST; }
        YY_BREAK
 case 9:
 YY_RULE_SETUP
-#line 189 "/Users/sabre/cvs/llvm/utils/TableGen/FileLexer.l"
+#line 198 "/Volumes/Gir/devel/llvm/llvm.src/utils/TableGen/FileLexer.l"
 { return CODE; }
        YY_BREAK
 case 10:
 YY_RULE_SETUP
-#line 190 "/Users/sabre/cvs/llvm/utils/TableGen/FileLexer.l"
+#line 199 "/Volumes/Gir/devel/llvm/llvm.src/utils/TableGen/FileLexer.l"
 { return DAG; }
        YY_BREAK
 case 11:
 YY_RULE_SETUP
-#line 192 "/Users/sabre/cvs/llvm/utils/TableGen/FileLexer.l"
+#line 201 "/Volumes/Gir/devel/llvm/llvm.src/utils/TableGen/FileLexer.l"
 { return CLASS; }
        YY_BREAK
 case 12:
 YY_RULE_SETUP
-#line 193 "/Users/sabre/cvs/llvm/utils/TableGen/FileLexer.l"
+#line 202 "/Volumes/Gir/devel/llvm/llvm.src/utils/TableGen/FileLexer.l"
 { return DEF; }
        YY_BREAK
 case 13:
 YY_RULE_SETUP
-#line 194 "/Users/sabre/cvs/llvm/utils/TableGen/FileLexer.l"
-{ return FIELD; }
+#line 203 "/Volumes/Gir/devel/llvm/llvm.src/utils/TableGen/FileLexer.l"
+{ return DEFM; }
        YY_BREAK
 case 14:
 YY_RULE_SETUP
-#line 195 "/Users/sabre/cvs/llvm/utils/TableGen/FileLexer.l"
-{ return LET; }
+#line 204 "/Volumes/Gir/devel/llvm/llvm.src/utils/TableGen/FileLexer.l"
+{ return MULTICLASS; }
        YY_BREAK
 case 15:
 YY_RULE_SETUP
-#line 196 "/Users/sabre/cvs/llvm/utils/TableGen/FileLexer.l"
-{ return IN; }
+#line 205 "/Volumes/Gir/devel/llvm/llvm.src/utils/TableGen/FileLexer.l"
+{ return FIELD; }
        YY_BREAK
 case 16:
 YY_RULE_SETUP
-#line 198 "/Users/sabre/cvs/llvm/utils/TableGen/FileLexer.l"
-{ return SRATOK; }
+#line 206 "/Volumes/Gir/devel/llvm/llvm.src/utils/TableGen/FileLexer.l"
+{ return LET; }
        YY_BREAK
 case 17:
 YY_RULE_SETUP
-#line 199 "/Users/sabre/cvs/llvm/utils/TableGen/FileLexer.l"
-{ return SRLTOK; }
+#line 207 "/Volumes/Gir/devel/llvm/llvm.src/utils/TableGen/FileLexer.l"
+{ return IN; }
        YY_BREAK
 case 18:
 YY_RULE_SETUP
-#line 200 "/Users/sabre/cvs/llvm/utils/TableGen/FileLexer.l"
-{ return SHLTOK; }
+#line 209 "/Volumes/Gir/devel/llvm/llvm.src/utils/TableGen/FileLexer.l"
+{ return SRATOK; }
        YY_BREAK
 case 19:
 YY_RULE_SETUP
-#line 203 "/Users/sabre/cvs/llvm/utils/TableGen/FileLexer.l"
+#line 210 "/Volumes/Gir/devel/llvm/llvm.src/utils/TableGen/FileLexer.l"
+{ return SRLTOK; }
+       YY_BREAK
+case 20:
+YY_RULE_SETUP
+#line 211 "/Volumes/Gir/devel/llvm/llvm.src/utils/TableGen/FileLexer.l"
+{ return SHLTOK; }
+       YY_BREAK
+case 21:
+YY_RULE_SETUP
+#line 212 "/Volumes/Gir/devel/llvm/llvm.src/utils/TableGen/FileLexer.l"
+{ return STRCONCATTOK; }
+       YY_BREAK
+case 22:
+YY_RULE_SETUP
+#line 215 "/Volumes/Gir/devel/llvm/llvm.src/utils/TableGen/FileLexer.l"
 { Filelval.StrVal = new std::string(yytext, yytext+yyleng);
                  return ID; }
        YY_BREAK
-case 20:
+case 23:
 YY_RULE_SETUP
-#line 205 "/Users/sabre/cvs/llvm/utils/TableGen/FileLexer.l"
+#line 217 "/Volumes/Gir/devel/llvm/llvm.src/utils/TableGen/FileLexer.l"
 { Filelval.StrVal = new std::string(yytext+1, yytext+yyleng);
                  return VARNAME; } 
        YY_BREAK
-case 21:
+case 24:
 YY_RULE_SETUP
-#line 208 "/Users/sabre/cvs/llvm/utils/TableGen/FileLexer.l"
+#line 220 "/Volumes/Gir/devel/llvm/llvm.src/utils/TableGen/FileLexer.l"
 { Filelval.StrVal = new std::string(yytext+1, yytext+yyleng-1);
                  return STRVAL; }
        YY_BREAK
-case 22:
+case 25:
 YY_RULE_SETUP
-#line 211 "/Users/sabre/cvs/llvm/utils/TableGen/FileLexer.l"
+#line 223 "/Volumes/Gir/devel/llvm/llvm.src/utils/TableGen/FileLexer.l"
 { Filelval.IntVal = ParseInt(Filetext); return INTVAL; }
        YY_BREAK
-case 23:
+case 26:
 YY_RULE_SETUP
-#line 213 "/Users/sabre/cvs/llvm/utils/TableGen/FileLexer.l"
+#line 225 "/Volumes/Gir/devel/llvm/llvm.src/utils/TableGen/FileLexer.l"
 { /* Ignore whitespace */ }
        YY_BREAK
-case 24:
+case 27:
 YY_RULE_SETUP
-#line 216 "/Users/sabre/cvs/llvm/utils/TableGen/FileLexer.l"
+#line 228 "/Volumes/Gir/devel/llvm/llvm.src/utils/TableGen/FileLexer.l"
 { BEGIN(comment); CommentDepth++; }
        YY_BREAK
-case 25:
+case 28:
 YY_RULE_SETUP
-#line 217 "/Users/sabre/cvs/llvm/utils/TableGen/FileLexer.l"
+#line 229 "/Volumes/Gir/devel/llvm/llvm.src/utils/TableGen/FileLexer.l"
 {} /* eat anything that's not a '*' or '/' */
        YY_BREAK
-case 26:
+case 29:
 YY_RULE_SETUP
-#line 218 "/Users/sabre/cvs/llvm/utils/TableGen/FileLexer.l"
+#line 230 "/Volumes/Gir/devel/llvm/llvm.src/utils/TableGen/FileLexer.l"
 {} /* eat up '*'s not followed by '/'s */
        YY_BREAK
-case 27:
+case 30:
 YY_RULE_SETUP
-#line 219 "/Users/sabre/cvs/llvm/utils/TableGen/FileLexer.l"
+#line 231 "/Volumes/Gir/devel/llvm/llvm.src/utils/TableGen/FileLexer.l"
 { ++CommentDepth; }
        YY_BREAK
-case 28:
+case 31:
 YY_RULE_SETUP
-#line 220 "/Users/sabre/cvs/llvm/utils/TableGen/FileLexer.l"
+#line 232 "/Volumes/Gir/devel/llvm/llvm.src/utils/TableGen/FileLexer.l"
 {} /* eat up /'s not followed by *'s */
        YY_BREAK
-case 29:
+case 32:
 YY_RULE_SETUP
-#line 221 "/Users/sabre/cvs/llvm/utils/TableGen/FileLexer.l"
+#line 233 "/Volumes/Gir/devel/llvm/llvm.src/utils/TableGen/FileLexer.l"
 { if (!--CommentDepth) { BEGIN(INITIAL); } }
        YY_BREAK
 case YY_STATE_EOF(comment):
-#line 222 "/Users/sabre/cvs/llvm/utils/TableGen/FileLexer.l"
+#line 234 "/Volumes/Gir/devel/llvm/llvm.src/utils/TableGen/FileLexer.l"
 { err() << "Unterminated comment!\n"; exit(1); }
        YY_BREAK
-case 30:
+case 33:
 YY_RULE_SETUP
-#line 224 "/Users/sabre/cvs/llvm/utils/TableGen/FileLexer.l"
+#line 236 "/Volumes/Gir/devel/llvm/llvm.src/utils/TableGen/FileLexer.l"
 { return Filetext[0]; }
        YY_BREAK
-case 31:
+case 34:
 YY_RULE_SETUP
-#line 226 "/Users/sabre/cvs/llvm/utils/TableGen/FileLexer.l"
+#line 238 "/Volumes/Gir/devel/llvm/llvm.src/utils/TableGen/FileLexer.l"
 YY_FATAL_ERROR( "flex scanner jammed" );
        YY_BREAK
-#line 1056 "Lexer.cpp"
+#line 1092 "Lexer.cpp"
                        case YY_STATE_EOF(INITIAL):
                                yyterminate();
 
@@ -1341,7 +1377,7 @@ static yy_state_type yy_get_previous_state()
                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 >= 100 )
+                       if ( yy_current_state >= 119 )
                                yy_c = yy_meta[(unsigned int) yy_c];
                        }
                yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
@@ -1371,11 +1407,11 @@ yy_state_type yy_current_state;
        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 >= 100 )
+               if ( yy_current_state >= 119 )
                        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 == 99);
+       yy_is_jam = (yy_current_state == 118);
        if ( ! yy_is_jam )
                *yy_state_ptr++ = yy_current_state;
 
@@ -1476,7 +1512,7 @@ static int input()
                                case EOB_ACT_END_OF_FILE:
                                        {
                                        if ( yywrap() )
-                                               return EOF;
+                                               return 0;
 
                                        if ( ! yy_did_buffer_switch_on_eof )
                                                YY_NEW_FILE;
@@ -1936,6 +1972,6 @@ int main()
        return 0;
        }
 #endif
-#line 226 "/Users/sabre/cvs/llvm/utils/TableGen/FileLexer.l"
+#line 238 "/Volumes/Gir/devel/llvm/llvm.src/utils/TableGen/FileLexer.l"