13#ifndef LLVM_MC_MCPARSER_ASMLEXER_H
14#define LLVM_MC_MCPARSER_ASMLEXER_H
28 const char *CurPtr =
nullptr;
30 bool IsAtStartOfLine =
true;
31 bool IsAtStartOfStatement =
true;
32 bool IsPeeking =
false;
33 bool EndStatementAtEOF =
true;
46 bool EndStatementAtEOF =
true);
51 bool ShouldSkipSpace =
true)
override;
56 bool isAtStartOfComment(
const char *
Ptr);
57 bool isAtStatementSeparator(
const char *
Ptr);
58 [[nodiscard]]
int getNextChar();
60 AsmToken ReturnError(
const char *Loc,
const std::string &Msg);
69 AsmToken LexHexFloatLiteral(
bool NoIntDigits);
AsmLexer - Lexer class for assembly files.
size_t peekTokens(MutableArrayRef< AsmToken > Buf, bool ShouldSkipSpace=true) override
Look ahead an arbitrary number of tokens.
StringRef LexUntilEndOfStatement() override
const MCAsmInfo & getMAI() const
AsmLexer(const AsmLexer &)=delete
AsmLexer & operator=(const AsmLexer &)=delete
void setBuffer(StringRef Buf, const char *ptr=nullptr, bool EndStatementAtEOF=true)
AsmToken LexToken() override
LexToken - Read the next token and return its code.
Target independent representation for an assembler token.
This class is intended to be used as a base class for asm properties and features specific to the tar...
Generic assembler lexer interface, for use by target specific assembly lexers.
MutableArrayRef - Represent a mutable reference to an array (0 or more elements consecutively in memo...
StringRef - Represent a constant reference to a string, i.e.
This is an optimization pass for GlobalISel generic memory operations.