[llvm-commits] [llvm] r94940 - in /llvm/trunk: include/llvm/Target/TargetAsmLexer.h lib/Target/TargetAsmLexer.cpp lib/Target/X86/AsmParser/X86AsmLexer.cpp
Sean Callanan
scallanan at apple.com
Sat Jan 30 18:28:18 PST 2010
Author: spyffe
Date: Sat Jan 30 20:28:18 2010
New Revision: 94940
URL: http://llvm.org/viewvc/llvm-project?rev=94940&view=rev
Log:
Moved InstallLexer() from the X86-specific AsmLexer
to the TargetAsmLexer class so that clients can
actually use the TargetAsmLexer they get from a
Target.
Modified:
llvm/trunk/include/llvm/Target/TargetAsmLexer.h
llvm/trunk/lib/Target/TargetAsmLexer.cpp
llvm/trunk/lib/Target/X86/AsmParser/X86AsmLexer.cpp
Modified: llvm/trunk/include/llvm/Target/TargetAsmLexer.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Target/TargetAsmLexer.h?rev=94940&r1=94939&r2=94940&view=diff
==============================================================================
--- llvm/trunk/include/llvm/Target/TargetAsmLexer.h (original)
+++ llvm/trunk/include/llvm/Target/TargetAsmLexer.h Sat Jan 30 20:28:18 2010
@@ -38,12 +38,22 @@
/// TheTarget - The Target that this machine was created for.
const Target &TheTarget;
+ MCAsmLexer *Lexer;
public:
virtual ~TargetAsmLexer();
const Target &getTarget() const { return TheTarget; }
+ /// InstallLexer - Set the lexer to get tokens from lower-level lexer \arg L.
+ void InstallLexer(MCAsmLexer &L) {
+ Lexer = &L;
+ }
+
+ MCAsmLexer *getLexer() {
+ return Lexer;
+ }
+
/// Lex - Consume the next token from the input stream and return it.
const AsmToken &Lex() {
return CurTok = LexToken();
Modified: llvm/trunk/lib/Target/TargetAsmLexer.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/TargetAsmLexer.cpp?rev=94940&r1=94939&r2=94940&view=diff
==============================================================================
--- llvm/trunk/lib/Target/TargetAsmLexer.cpp (original)
+++ llvm/trunk/lib/Target/TargetAsmLexer.cpp Sat Jan 30 20:28:18 2010
@@ -10,5 +10,5 @@
#include "llvm/Target/TargetAsmLexer.h"
using namespace llvm;
-TargetAsmLexer::TargetAsmLexer(const Target &T) : TheTarget(T) {}
+TargetAsmLexer::TargetAsmLexer(const Target &T) : TheTarget(T), Lexer(NULL) {}
TargetAsmLexer::~TargetAsmLexer() {}
Modified: llvm/trunk/lib/Target/X86/AsmParser/X86AsmLexer.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/AsmParser/X86AsmLexer.cpp?rev=94940&r1=94939&r2=94940&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/AsmParser/X86AsmLexer.cpp (original)
+++ llvm/trunk/lib/Target/X86/AsmParser/X86AsmLexer.cpp Sat Jan 30 20:28:18 2010
@@ -22,13 +22,12 @@
class X86AsmLexer : public TargetAsmLexer {
const MCAsmInfo &AsmInfo;
- MCAsmLexer *Lexer;
bool tentativeIsValid;
AsmToken tentativeToken;
const AsmToken &lexTentative() {
- tentativeToken = Lexer->Lex();
+ tentativeToken = getLexer()->Lex();
tentativeIsValid = true;
return tentativeToken;
}
@@ -39,7 +38,7 @@
return tentativeToken;
}
else {
- return Lexer->Lex();
+ return getLexer()->Lex();
}
}
@@ -64,11 +63,7 @@
}
public:
X86AsmLexer(const Target &T, const MCAsmInfo &MAI)
- : TargetAsmLexer(T), AsmInfo(MAI), Lexer(NULL), tentativeIsValid(false) {
- }
-
- void InstallLexer(MCAsmLexer &L) {
- Lexer = &L;
+ : TargetAsmLexer(T), AsmInfo(MAI), tentativeIsValid(false) {
}
};
More information about the llvm-commits
mailing list