mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-08-14 15:28:20 +00:00
More whitespace cleanup...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125388 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -31,12 +31,12 @@ AsmLexer::~AsmLexer() {
|
|||||||
|
|
||||||
void AsmLexer::setBuffer(const MemoryBuffer *buf, const char *ptr) {
|
void AsmLexer::setBuffer(const MemoryBuffer *buf, const char *ptr) {
|
||||||
CurBuf = buf;
|
CurBuf = buf;
|
||||||
|
|
||||||
if (ptr)
|
if (ptr)
|
||||||
CurPtr = ptr;
|
CurPtr = ptr;
|
||||||
else
|
else
|
||||||
CurPtr = CurBuf->getBufferStart();
|
CurPtr = CurBuf->getBufferStart();
|
||||||
|
|
||||||
TokStart = 0;
|
TokStart = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -44,7 +44,7 @@ void AsmLexer::setBuffer(const MemoryBuffer *buf, const char *ptr) {
|
|||||||
/// location. This is defined to always return AsmToken::Error.
|
/// location. This is defined to always return AsmToken::Error.
|
||||||
AsmToken AsmLexer::ReturnError(const char *Loc, const std::string &Msg) {
|
AsmToken AsmLexer::ReturnError(const char *Loc, const std::string &Msg) {
|
||||||
SetError(SMLoc::getFromPointer(Loc), Msg);
|
SetError(SMLoc::getFromPointer(Loc), Msg);
|
||||||
|
|
||||||
return AsmToken(AsmToken::Error, StringRef(Loc, 0));
|
return AsmToken(AsmToken::Error, StringRef(Loc, 0));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -58,9 +58,9 @@ int AsmLexer::getNextChar() {
|
|||||||
// a random nul in the file. Disambiguate that here.
|
// a random nul in the file. Disambiguate that here.
|
||||||
if (CurPtr-1 != CurBuf->getBufferEnd())
|
if (CurPtr-1 != CurBuf->getBufferEnd())
|
||||||
return 0; // Just whitespace.
|
return 0; // Just whitespace.
|
||||||
|
|
||||||
// Otherwise, return end of file.
|
// Otherwise, return end of file.
|
||||||
--CurPtr; // Another call to lex will return EOF again.
|
--CurPtr; // Another call to lex will return EOF again.
|
||||||
return EOF;
|
return EOF;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -106,11 +106,11 @@ AsmToken AsmLexer::LexIdentifier() {
|
|||||||
|
|
||||||
while (IsIdentifierChar(*CurPtr))
|
while (IsIdentifierChar(*CurPtr))
|
||||||
++CurPtr;
|
++CurPtr;
|
||||||
|
|
||||||
// Handle . as a special case.
|
// Handle . as a special case.
|
||||||
if (CurPtr == TokStart+1 && TokStart[0] == '.')
|
if (CurPtr == TokStart+1 && TokStart[0] == '.')
|
||||||
return AsmToken(AsmToken::Dot, StringRef(TokStart, 1));
|
return AsmToken(AsmToken::Dot, StringRef(TokStart, 1));
|
||||||
|
|
||||||
return AsmToken(AsmToken::Identifier, StringRef(TokStart, CurPtr - TokStart));
|
return AsmToken(AsmToken::Identifier, StringRef(TokStart, CurPtr - TokStart));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -133,7 +133,7 @@ AsmToken AsmLexer::LexSlash() {
|
|||||||
case '*':
|
case '*':
|
||||||
// End of the comment?
|
// End of the comment?
|
||||||
if (CurPtr[0] != '/') break;
|
if (CurPtr[0] != '/') break;
|
||||||
|
|
||||||
++CurPtr; // End the */.
|
++CurPtr; // End the */.
|
||||||
return LexToken();
|
return LexToken();
|
||||||
}
|
}
|
||||||
@@ -148,7 +148,7 @@ AsmToken AsmLexer::LexLineComment() {
|
|||||||
int CurChar = getNextChar();
|
int CurChar = getNextChar();
|
||||||
while (CurChar != '\n' && CurChar != '\n' && CurChar != EOF)
|
while (CurChar != '\n' && CurChar != '\n' && CurChar != EOF)
|
||||||
CurChar = getNextChar();
|
CurChar = getNextChar();
|
||||||
|
|
||||||
if (CurChar == EOF)
|
if (CurChar == EOF)
|
||||||
return AsmToken(AsmToken::Eof, StringRef(CurPtr, 0));
|
return AsmToken(AsmToken::Eof, StringRef(CurPtr, 0));
|
||||||
return AsmToken(AsmToken::EndOfStatement, StringRef(CurPtr, 0));
|
return AsmToken(AsmToken::EndOfStatement, StringRef(CurPtr, 0));
|
||||||
@@ -191,14 +191,14 @@ AsmToken AsmLexer::LexDigit() {
|
|||||||
return ReturnError(TokStart, "invalid decimal number");
|
return ReturnError(TokStart, "invalid decimal number");
|
||||||
Value = (long long)UValue;
|
Value = (long long)UValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
// The darwin/x86 (and x86-64) assembler accepts and ignores ULL and LL
|
// The darwin/x86 (and x86-64) assembler accepts and ignores ULL and LL
|
||||||
// suffixes on integer literals.
|
// suffixes on integer literals.
|
||||||
SkipIgnoredIntegerSuffix(CurPtr);
|
SkipIgnoredIntegerSuffix(CurPtr);
|
||||||
|
|
||||||
return AsmToken(AsmToken::Integer, Result, Value);
|
return AsmToken(AsmToken::Integer, Result, Value);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (*CurPtr == 'b') {
|
if (*CurPtr == 'b') {
|
||||||
++CurPtr;
|
++CurPtr;
|
||||||
// See if we actually have "0b" as part of something like "jmp 0b\n"
|
// See if we actually have "0b" as part of something like "jmp 0b\n"
|
||||||
@@ -210,30 +210,30 @@ AsmToken AsmLexer::LexDigit() {
|
|||||||
const char *NumStart = CurPtr;
|
const char *NumStart = CurPtr;
|
||||||
while (CurPtr[0] == '0' || CurPtr[0] == '1')
|
while (CurPtr[0] == '0' || CurPtr[0] == '1')
|
||||||
++CurPtr;
|
++CurPtr;
|
||||||
|
|
||||||
// Requires at least one binary digit.
|
// Requires at least one binary digit.
|
||||||
if (CurPtr == NumStart)
|
if (CurPtr == NumStart)
|
||||||
return ReturnError(TokStart, "Invalid binary number");
|
return ReturnError(TokStart, "Invalid binary number");
|
||||||
|
|
||||||
StringRef Result(TokStart, CurPtr - TokStart);
|
StringRef Result(TokStart, CurPtr - TokStart);
|
||||||
|
|
||||||
long long Value;
|
long long Value;
|
||||||
if (Result.substr(2).getAsInteger(2, Value))
|
if (Result.substr(2).getAsInteger(2, Value))
|
||||||
return ReturnError(TokStart, "Invalid binary number");
|
return ReturnError(TokStart, "Invalid binary number");
|
||||||
|
|
||||||
// The darwin/x86 (and x86-64) assembler accepts and ignores ULL and LL
|
// The darwin/x86 (and x86-64) assembler accepts and ignores ULL and LL
|
||||||
// suffixes on integer literals.
|
// suffixes on integer literals.
|
||||||
SkipIgnoredIntegerSuffix(CurPtr);
|
SkipIgnoredIntegerSuffix(CurPtr);
|
||||||
|
|
||||||
return AsmToken(AsmToken::Integer, Result, Value);
|
return AsmToken(AsmToken::Integer, Result, Value);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (*CurPtr == 'x') {
|
if (*CurPtr == 'x') {
|
||||||
++CurPtr;
|
++CurPtr;
|
||||||
const char *NumStart = CurPtr;
|
const char *NumStart = CurPtr;
|
||||||
while (isxdigit(CurPtr[0]))
|
while (isxdigit(CurPtr[0]))
|
||||||
++CurPtr;
|
++CurPtr;
|
||||||
|
|
||||||
// Requires at least one hex digit.
|
// Requires at least one hex digit.
|
||||||
if (CurPtr == NumStart)
|
if (CurPtr == NumStart)
|
||||||
return ReturnError(CurPtr-2, "Invalid hexadecimal number");
|
return ReturnError(CurPtr-2, "Invalid hexadecimal number");
|
||||||
@@ -241,28 +241,28 @@ AsmToken AsmLexer::LexDigit() {
|
|||||||
unsigned long long Result;
|
unsigned long long Result;
|
||||||
if (StringRef(TokStart, CurPtr - TokStart).getAsInteger(0, Result))
|
if (StringRef(TokStart, CurPtr - TokStart).getAsInteger(0, Result))
|
||||||
return ReturnError(TokStart, "Invalid hexadecimal number");
|
return ReturnError(TokStart, "Invalid hexadecimal number");
|
||||||
|
|
||||||
// The darwin/x86 (and x86-64) assembler accepts and ignores ULL and LL
|
// The darwin/x86 (and x86-64) assembler accepts and ignores ULL and LL
|
||||||
// suffixes on integer literals.
|
// suffixes on integer literals.
|
||||||
SkipIgnoredIntegerSuffix(CurPtr);
|
SkipIgnoredIntegerSuffix(CurPtr);
|
||||||
|
|
||||||
return AsmToken(AsmToken::Integer, StringRef(TokStart, CurPtr - TokStart),
|
return AsmToken(AsmToken::Integer, StringRef(TokStart, CurPtr - TokStart),
|
||||||
(int64_t)Result);
|
(int64_t)Result);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Must be an octal number, it starts with 0.
|
// Must be an octal number, it starts with 0.
|
||||||
while (*CurPtr >= '0' && *CurPtr <= '7')
|
while (*CurPtr >= '0' && *CurPtr <= '7')
|
||||||
++CurPtr;
|
++CurPtr;
|
||||||
|
|
||||||
StringRef Result(TokStart, CurPtr - TokStart);
|
StringRef Result(TokStart, CurPtr - TokStart);
|
||||||
long long Value;
|
long long Value;
|
||||||
if (Result.getAsInteger(8, Value))
|
if (Result.getAsInteger(8, Value))
|
||||||
return ReturnError(TokStart, "Invalid octal number");
|
return ReturnError(TokStart, "Invalid octal number");
|
||||||
|
|
||||||
// The darwin/x86 (and x86-64) assembler accepts and ignores ULL and LL
|
// The darwin/x86 (and x86-64) assembler accepts and ignores ULL and LL
|
||||||
// suffixes on integer literals.
|
// suffixes on integer literals.
|
||||||
SkipIgnoredIntegerSuffix(CurPtr);
|
SkipIgnoredIntegerSuffix(CurPtr);
|
||||||
|
|
||||||
return AsmToken(AsmToken::Integer, Result, Value);
|
return AsmToken(AsmToken::Integer, Result, Value);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -298,7 +298,7 @@ AsmToken AsmLexer::LexSingleQuote() {
|
|||||||
} else
|
} else
|
||||||
Value = TokStart[1];
|
Value = TokStart[1];
|
||||||
|
|
||||||
return AsmToken(AsmToken::Integer, Res, Value);
|
return AsmToken(AsmToken::Integer, Res, Value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -311,13 +311,13 @@ AsmToken AsmLexer::LexQuote() {
|
|||||||
// Allow \", etc.
|
// Allow \", etc.
|
||||||
CurChar = getNextChar();
|
CurChar = getNextChar();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (CurChar == EOF)
|
if (CurChar == EOF)
|
||||||
return ReturnError(TokStart, "unterminated string constant");
|
return ReturnError(TokStart, "unterminated string constant");
|
||||||
|
|
||||||
CurChar = getNextChar();
|
CurChar = getNextChar();
|
||||||
}
|
}
|
||||||
|
|
||||||
return AsmToken(AsmToken::String, StringRef(TokStart, CurPtr - TokStart));
|
return AsmToken(AsmToken::String, StringRef(TokStart, CurPtr - TokStart));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -343,7 +343,7 @@ AsmToken AsmLexer::LexToken() {
|
|||||||
TokStart = CurPtr;
|
TokStart = CurPtr;
|
||||||
// This always consumes at least one character.
|
// This always consumes at least one character.
|
||||||
int CurChar = getNextChar();
|
int CurChar = getNextChar();
|
||||||
|
|
||||||
if (isAtStartOfComment(CurChar))
|
if (isAtStartOfComment(CurChar))
|
||||||
return LexLineComment();
|
return LexLineComment();
|
||||||
|
|
||||||
@@ -352,7 +352,7 @@ AsmToken AsmLexer::LexToken() {
|
|||||||
// Handle identifier: [a-zA-Z_.][a-zA-Z0-9_$.@]*
|
// Handle identifier: [a-zA-Z_.][a-zA-Z0-9_$.@]*
|
||||||
if (isalpha(CurChar) || CurChar == '_' || CurChar == '.')
|
if (isalpha(CurChar) || CurChar == '_' || CurChar == '.')
|
||||||
return LexIdentifier();
|
return LexIdentifier();
|
||||||
|
|
||||||
// Unknown character, emit an error.
|
// Unknown character, emit an error.
|
||||||
return ReturnError(TokStart, "invalid character in input");
|
return ReturnError(TokStart, "invalid character in input");
|
||||||
case EOF: return AsmToken(AsmToken::Eof, StringRef(TokStart, 0));
|
case EOF: return AsmToken(AsmToken::Eof, StringRef(TokStart, 0));
|
||||||
@@ -378,20 +378,20 @@ AsmToken AsmLexer::LexToken() {
|
|||||||
case ',': return AsmToken(AsmToken::Comma, StringRef(TokStart, 1));
|
case ',': return AsmToken(AsmToken::Comma, StringRef(TokStart, 1));
|
||||||
case '$': return AsmToken(AsmToken::Dollar, StringRef(TokStart, 1));
|
case '$': return AsmToken(AsmToken::Dollar, StringRef(TokStart, 1));
|
||||||
case '@': return AsmToken(AsmToken::At, StringRef(TokStart, 1));
|
case '@': return AsmToken(AsmToken::At, StringRef(TokStart, 1));
|
||||||
case '=':
|
case '=':
|
||||||
if (*CurPtr == '=')
|
if (*CurPtr == '=')
|
||||||
return ++CurPtr, AsmToken(AsmToken::EqualEqual, StringRef(TokStart, 2));
|
return ++CurPtr, AsmToken(AsmToken::EqualEqual, StringRef(TokStart, 2));
|
||||||
return AsmToken(AsmToken::Equal, StringRef(TokStart, 1));
|
return AsmToken(AsmToken::Equal, StringRef(TokStart, 1));
|
||||||
case '|':
|
case '|':
|
||||||
if (*CurPtr == '|')
|
if (*CurPtr == '|')
|
||||||
return ++CurPtr, AsmToken(AsmToken::PipePipe, StringRef(TokStart, 2));
|
return ++CurPtr, AsmToken(AsmToken::PipePipe, StringRef(TokStart, 2));
|
||||||
return AsmToken(AsmToken::Pipe, StringRef(TokStart, 1));
|
return AsmToken(AsmToken::Pipe, StringRef(TokStart, 1));
|
||||||
case '^': return AsmToken(AsmToken::Caret, StringRef(TokStart, 1));
|
case '^': return AsmToken(AsmToken::Caret, StringRef(TokStart, 1));
|
||||||
case '&':
|
case '&':
|
||||||
if (*CurPtr == '&')
|
if (*CurPtr == '&')
|
||||||
return ++CurPtr, AsmToken(AsmToken::AmpAmp, StringRef(TokStart, 2));
|
return ++CurPtr, AsmToken(AsmToken::AmpAmp, StringRef(TokStart, 2));
|
||||||
return AsmToken(AsmToken::Amp, StringRef(TokStart, 1));
|
return AsmToken(AsmToken::Amp, StringRef(TokStart, 1));
|
||||||
case '!':
|
case '!':
|
||||||
if (*CurPtr == '=')
|
if (*CurPtr == '=')
|
||||||
return ++CurPtr, AsmToken(AsmToken::ExclaimEqual, StringRef(TokStart, 2));
|
return ++CurPtr, AsmToken(AsmToken::ExclaimEqual, StringRef(TokStart, 2));
|
||||||
return AsmToken(AsmToken::Exclaim, StringRef(TokStart, 1));
|
return AsmToken(AsmToken::Exclaim, StringRef(TokStart, 1));
|
||||||
@@ -405,23 +405,23 @@ AsmToken AsmLexer::LexToken() {
|
|||||||
return LexDigit();
|
return LexDigit();
|
||||||
case '<':
|
case '<':
|
||||||
switch (*CurPtr) {
|
switch (*CurPtr) {
|
||||||
case '<': return ++CurPtr, AsmToken(AsmToken::LessLess,
|
case '<': return ++CurPtr, AsmToken(AsmToken::LessLess,
|
||||||
StringRef(TokStart, 2));
|
StringRef(TokStart, 2));
|
||||||
case '=': return ++CurPtr, AsmToken(AsmToken::LessEqual,
|
case '=': return ++CurPtr, AsmToken(AsmToken::LessEqual,
|
||||||
StringRef(TokStart, 2));
|
StringRef(TokStart, 2));
|
||||||
case '>': return ++CurPtr, AsmToken(AsmToken::LessGreater,
|
case '>': return ++CurPtr, AsmToken(AsmToken::LessGreater,
|
||||||
StringRef(TokStart, 2));
|
StringRef(TokStart, 2));
|
||||||
default: return AsmToken(AsmToken::Less, StringRef(TokStart, 1));
|
default: return AsmToken(AsmToken::Less, StringRef(TokStart, 1));
|
||||||
}
|
}
|
||||||
case '>':
|
case '>':
|
||||||
switch (*CurPtr) {
|
switch (*CurPtr) {
|
||||||
case '>': return ++CurPtr, AsmToken(AsmToken::GreaterGreater,
|
case '>': return ++CurPtr, AsmToken(AsmToken::GreaterGreater,
|
||||||
StringRef(TokStart, 2));
|
StringRef(TokStart, 2));
|
||||||
case '=': return ++CurPtr, AsmToken(AsmToken::GreaterEqual,
|
case '=': return ++CurPtr, AsmToken(AsmToken::GreaterEqual,
|
||||||
StringRef(TokStart, 2));
|
StringRef(TokStart, 2));
|
||||||
default: return AsmToken(AsmToken::Greater, StringRef(TokStart, 1));
|
default: return AsmToken(AsmToken::Greater, StringRef(TokStart, 1));
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: Quoted identifiers (objc methods etc)
|
// TODO: Quoted identifiers (objc methods etc)
|
||||||
// local labels: [0-9][:]
|
// local labels: [0-9][:]
|
||||||
// Forward/backward labels: [0-9][fb]
|
// Forward/backward labels: [0-9][fb]
|
||||||
|
@@ -2233,7 +2233,7 @@ bool GenericAsmParser::ParseRegisterOrRegisterNumber(int64_t &Register,
|
|||||||
Register = getContext().getTargetAsmInfo().getDwarfRegNum(RegNo, true);
|
Register = getContext().getTargetAsmInfo().getDwarfRegNum(RegNo, true);
|
||||||
} else
|
} else
|
||||||
return getParser().ParseAbsoluteExpression(Register);
|
return getParser().ParseAbsoluteExpression(Register);
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user