X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=utils%2FTableGen%2FTGLexer.h;h=8859479874020dfa75c1a1695150ddeb9caa8023;hb=505f3cd2965e65b6b7ad023eaba0e3dc89b67409;hp=3993e89d64ef203662e8da3be4c913a6f338d2b9;hpb=beb31a51f67f651c5fa3c5094a78266d04a697a5;p=oota-llvm.git diff --git a/utils/TableGen/TGLexer.h b/utils/TableGen/TGLexer.h index 3993e89d64e..88594798740 100644 --- a/utils/TableGen/TGLexer.h +++ b/utils/TableGen/TGLexer.h @@ -17,14 +17,14 @@ #include "llvm/Support/DataTypes.h" #include #include -#include #include namespace llvm { class MemoryBuffer; -class TGSourceMgr; -class TGLoc; - +class SourceMgr; +class SMLoc; +class Twine; + namespace tgtok { enum TokKind { // Markers @@ -36,7 +36,7 @@ namespace tgtok { l_brace, r_brace, // { } l_paren, r_paren, // ( ) less, greater, // < > - colon, semi, // ; : + colon, semi, // : ; comma, period, // , . equal, question, // = ? @@ -45,8 +45,8 @@ namespace tgtok { MultiClass, String, // !keywords. - XConcat, XSRA, XSRL, XSHL, XStrConcat, XNameConcat, XCast, XSubst, - XForEach, + XConcat, XSRA, XSRL, XSHL, XStrConcat, XCast, XSubst, + XForEach, XHead, XTail, XEmpty, XIf, XEq, // Integer value. IntVal, @@ -58,7 +58,7 @@ namespace tgtok { /// TGLexer - TableGen Lexer class. class TGLexer { - TGSourceMgr &SrcMgr; + SourceMgr &SrcMgr; const char *CurPtr; const MemoryBuffer *CurBuf; @@ -73,17 +73,10 @@ class TGLexer { /// by the SourceMgr object. int CurBuffer; - // IncludeDirectories - This is the list of directories we should search for - // include files in. - std::vector IncludeDirectories; public: - TGLexer(TGSourceMgr &SrcMgr); + TGLexer(SourceMgr &SrcMgr); ~TGLexer() {} - void setIncludeDirs(const std::vector &Dirs) { - IncludeDirectories = Dirs; - } - tgtok::TokKind Lex() { return CurCode = LexToken(); } @@ -101,16 +94,16 @@ public: return CurIntVal; } - TGLoc getLoc() const; + SMLoc getLoc() const; - void PrintError(const char *Loc, const std::string &Msg) const; - void PrintError(TGLoc Loc, const std::string &Msg) const; + void PrintError(const char *Loc, const Twine &Msg) const; + void PrintError(SMLoc Loc, const Twine &Msg) const; private: /// LexToken - Read the next token and return its code. tgtok::TokKind LexToken(); - tgtok::TokKind ReturnError(const char *Loc, const std::string &Msg); + tgtok::TokKind ReturnError(const char *Loc, const Twine &Msg); int getNextChar(); void SkipBCPLComment();