#include "TGLexer.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/ADT/StringSwitch.h"
#include "llvm/ADT/Twine.h"
#include "llvm/Config/config.h"
#include "llvm/Support/Compiler.h"
#include "llvm/Support/MemoryBuffer.h"
#include "llvm/Support/SourceMgr.h"
#include "llvm/TableGen/Error.h"
#include <algorithm>
#include <cerrno>
#include <cstdint>
#include <cstdio>
#include <cstdlib>
#include <cstring>
usingnamespacellvm;
namespace {
struct PreprocessorDir { … };
}
static bool isValidIDChar(char C, bool First) { … }
constexpr PreprocessorDir PreprocessorDirs[] = …;
static const char *lexMacroName(StringRef Str) { … }
TGLexer::TGLexer(SourceMgr &SM, ArrayRef<std::string> Macros) : … { … }
SMLoc TGLexer::getLoc() const { … }
SMRange TGLexer::getLocRange() const { … }
tgtok::TokKind TGLexer::ReturnError(SMLoc Loc, const Twine &Msg) { … }
tgtok::TokKind TGLexer::ReturnError(const char *Loc, const Twine &Msg) { … }
bool TGLexer::processEOF() { … }
int TGLexer::getNextChar() { … }
int TGLexer::peekNextChar(int Index) const { … }
tgtok::TokKind TGLexer::LexToken(bool FileOrLineStart) { … }
tgtok::TokKind TGLexer::LexString() { … }
tgtok::TokKind TGLexer::LexVarName() { … }
tgtok::TokKind TGLexer::LexIdentifier() { … }
bool TGLexer::LexInclude() { … }
void TGLexer::SkipBCPLComment() { … }
bool TGLexer::SkipCComment() { … }
tgtok::TokKind TGLexer::LexNumber() { … }
tgtok::TokKind TGLexer::LexBracket() { … }
tgtok::TokKind TGLexer::LexExclaim() { … }
bool TGLexer::prepExitInclude(bool IncludeStackMustBeEmpty) { … }
tgtok::TokKind TGLexer::prepIsDirective() const { … }
bool TGLexer::prepEatPreprocessorDirective(tgtok::TokKind Kind) { … }
tgtok::TokKind TGLexer::lexPreprocessor(tgtok::TokKind Kind,
bool ReturnNextLiveToken) { … }
bool TGLexer::prepSkipRegion(bool MustNeverBeFalse) { … }
StringRef TGLexer::prepLexMacroName() { … }
bool TGLexer::prepSkipLineBegin() { … }
bool TGLexer::prepSkipDirectiveEnd() { … }
bool TGLexer::prepIsProcessingEnabled() { … }
void TGLexer::prepReportPreprocessorStackError() { … }