1 //===-- X86AsmLexer.cpp - Tokenize X86 assembly to AsmTokens --------------===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 #include "llvm/Target/TargetAsmLexer.h"
11 #include "llvm/Target/TargetRegistry.h"
12 #include "llvm/MC/MCAsmInfo.h"
13 #include "llvm/MC/MCParser/MCAsmLexer.h"
14 #include "llvm/MC/MCParser/MCParsedAsmOperand.h"
21 class X86AsmLexer : public TargetAsmLexer {
22 const MCAsmInfo &AsmInfo;
24 AsmToken LexTokenATT();
25 AsmToken LexTokenIntel();
28 switch (AsmInfo.getAssemblerDialect()) {
30 SetError(SMLoc(), "Unhandled dialect");
31 return AsmToken(AsmToken::Error, "", 0);
35 return LexTokenIntel();
39 X86AsmLexer(const Target &T, const MCAsmInfo &MAI)
40 : TargetAsmLexer(T), AsmInfo(MAI) {
46 AsmToken X86AsmLexer::LexTokenATT() {
47 return AsmToken(AsmToken::Error, "", 0);
50 AsmToken X86AsmLexer::LexTokenIntel() {
51 return AsmToken(AsmToken::Error, "", 0);
54 extern "C" void LLVMInitializeX86AsmLexer() {
55 RegisterAsmLexer<X86AsmLexer> X(TheX86_32Target);
56 RegisterAsmLexer<X86AsmLexer> Y(TheX86_64Target);
59 //#define REGISTERS_ONLY
60 //#include "../X86GenAsmMatcher.inc"
61 //#undef REGISTERS_ONLY