#include "MILexer.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/ADT/StringSwitch.h"
#include "llvm/ADT/Twine.h"
#include <cassert>
#include <cctype>
#include <string>
usingnamespacellvm;
namespace {
ErrorCallbackType;
class Cursor { … };
}
MIToken &MIToken::reset(TokenKind Kind, StringRef Range) { … }
MIToken &MIToken::setStringValue(StringRef StrVal) { … }
MIToken &MIToken::setOwnedStringValue(std::string StrVal) { … }
MIToken &MIToken::setIntegerValue(APSInt IntVal) { … }
static Cursor skipWhitespace(Cursor C) { … }
static bool isNewlineChar(char C) { … }
static Cursor skipComment(Cursor C) { … }
static Cursor skipMachineOperandComment(Cursor C) { … }
static bool isIdentifierChar(char C) { … }
static std::string unescapeQuotedString(StringRef Value) { … }
static Cursor lexStringConstant(Cursor C, ErrorCallbackType ErrorCallback) { … }
static Cursor lexName(Cursor C, MIToken &Token, MIToken::TokenKind Type,
unsigned PrefixLength, ErrorCallbackType ErrorCallback) { … }
static MIToken::TokenKind getIdentifierKind(StringRef Identifier) { … }
static Cursor maybeLexIdentifier(Cursor C, MIToken &Token) { … }
static Cursor maybeLexMachineBasicBlock(Cursor C, MIToken &Token,
ErrorCallbackType ErrorCallback) { … }
static Cursor maybeLexIndex(Cursor C, MIToken &Token, StringRef Rule,
MIToken::TokenKind Kind) { … }
static Cursor maybeLexIndexAndName(Cursor C, MIToken &Token, StringRef Rule,
MIToken::TokenKind Kind) { … }
static Cursor maybeLexJumpTableIndex(Cursor C, MIToken &Token) { … }
static Cursor maybeLexStackObject(Cursor C, MIToken &Token) { … }
static Cursor maybeLexFixedStackObject(Cursor C, MIToken &Token) { … }
static Cursor maybeLexConstantPoolItem(Cursor C, MIToken &Token) { … }
static Cursor maybeLexSubRegisterIndex(Cursor C, MIToken &Token,
ErrorCallbackType ErrorCallback) { … }
static Cursor maybeLexIRBlock(Cursor C, MIToken &Token,
ErrorCallbackType ErrorCallback) { … }
static Cursor maybeLexIRValue(Cursor C, MIToken &Token,
ErrorCallbackType ErrorCallback) { … }
static Cursor maybeLexStringConstant(Cursor C, MIToken &Token,
ErrorCallbackType ErrorCallback) { … }
static Cursor lexVirtualRegister(Cursor C, MIToken &Token) { … }
static bool isRegisterChar(char C) { … }
static Cursor lexNamedVirtualRegister(Cursor C, MIToken &Token) { … }
static Cursor maybeLexRegister(Cursor C, MIToken &Token,
ErrorCallbackType ErrorCallback) { … }
static Cursor maybeLexGlobalValue(Cursor C, MIToken &Token,
ErrorCallbackType ErrorCallback) { … }
static Cursor maybeLexExternalSymbol(Cursor C, MIToken &Token,
ErrorCallbackType ErrorCallback) { … }
static Cursor maybeLexMCSymbol(Cursor C, MIToken &Token,
ErrorCallbackType ErrorCallback) { … }
static bool isValidHexFloatingPointPrefix(char C) { … }
static Cursor lexFloatingPointLiteral(Cursor Range, Cursor C, MIToken &Token) { … }
static Cursor maybeLexHexadecimalLiteral(Cursor C, MIToken &Token) { … }
static Cursor maybeLexNumericalLiteral(Cursor C, MIToken &Token) { … }
static MIToken::TokenKind getMetadataKeywordKind(StringRef Identifier) { … }
static Cursor maybeLexExclaim(Cursor C, MIToken &Token,
ErrorCallbackType ErrorCallback) { … }
static MIToken::TokenKind symbolToken(char C) { … }
static Cursor maybeLexSymbol(Cursor C, MIToken &Token) { … }
static Cursor maybeLexNewline(Cursor C, MIToken &Token) { … }
static Cursor maybeLexEscapedIRValue(Cursor C, MIToken &Token,
ErrorCallbackType ErrorCallback) { … }
StringRef llvm::lexMIToken(StringRef Source, MIToken &Token,
ErrorCallbackType ErrorCallback) { … }