diff options
author | Chris Lattner <sabre@nondot.org> | 2007-11-18 08:46:26 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2007-11-18 08:46:26 +0000 |
commit | 8e3a8e0452695643d04c21e15c94b802aef81bae (patch) | |
tree | 9884e80bdb01fa3acb2b692d471f42b06c510032 /lib/AsmParser/ParserInternals.h | |
parent | c1819188b6c971b91c680a9a3c077b84a110e5fd (diff) |
Replace the original flex lexer with a hand writen one. This
drops a dependency on flex and lets us make future progress more
easily. Yay for 2 fewer .cvs files to make silly conflicts with.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44213 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/AsmParser/ParserInternals.h')
-rw-r--r-- | lib/AsmParser/ParserInternals.h | 30 |
1 files changed, 9 insertions, 21 deletions
diff --git a/lib/AsmParser/ParserInternals.h b/lib/AsmParser/ParserInternals.h index 80a5692e11..a50eb93821 100644 --- a/lib/AsmParser/ParserInternals.h +++ b/lib/AsmParser/ParserInternals.h @@ -23,37 +23,25 @@ #include "llvm/Assembly/Parser.h" #include "llvm/ADT/StringExtras.h" #include "llvm/ADT/APFloat.h" +namespace llvm { class MemoryBuffer; } // Global variables exported from the lexer... -extern int llvmAsmlineno; /// FIXME: Not threading friendly extern llvm::ParseError* TheParseError; /// FIXME: Not threading friendly -extern std::string &llvmAsmTextin; - // functions exported from the lexer -void set_scan_file(FILE * F); -void set_scan_string (const char * str); - -// Globals exported by the parser... -extern char* llvmAsmtext; -extern int llvmAsmleng; +void InitLLLexer(llvm::MemoryBuffer *MB); +const char *LLLgetTokenStart(); +unsigned LLLgetTokenLength(); +std::string LLLgetFilename(); +unsigned LLLgetLineNo(); +void FreeLexer(); namespace llvm { class Module; -// Globals exported by the parser... -extern std::string CurFilename; /// FIXME: Not threading friendly - -// RunVMAsmParser - Parse a file and return Module -Module *RunVMAsmParser(const std::string &Filename, FILE *F); - -// Parse a string directly -Module *RunVMAsmParser(const char * AsmString, Module * M); - -// UnEscapeLexed - Run through the specified buffer and change \xx codes to the -// appropriate character. -char *UnEscapeLexed(char *Buffer); +// RunVMAsmParser - Parse a buffer and return Module +Module *RunVMAsmParser(llvm::MemoryBuffer *MB); // GenerateError - Wrapper around the ParseException class that automatically // fills in file line number and column number and options info. |