when david added support for #NAME# he didn't update the comments and

tried (but failed) to artificially constrain it to working with #NAME#.
Just allow any # in identifiers, and update the comments.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115704 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2010-10-05 22:59:29 +00:00
parent e2a268fd03
commit c2b0875b8d

View File

@ -96,7 +96,7 @@ tgtok::TokKind TGLexer::LexToken() {
switch (CurChar) {
default:
// Handle letters: [a-zA-Z_]
// Handle letters: [a-zA-Z_#]
if (isalpha(CurChar) || CurChar == '_' || CurChar == '#')
return LexIdentifier();
@ -215,23 +215,13 @@ tgtok::TokKind TGLexer::LexVarName() {
tgtok::TokKind TGLexer::LexIdentifier() {
// The first letter is [a-zA-Z_].
// The first letter is [a-zA-Z_#].
const char *IdentStart = TokStart;
// Match the rest of the identifier regex: [0-9a-zA-Z_]*
while (isalpha(*CurPtr) || isdigit(*CurPtr) || *CurPtr == '_'
|| *CurPtr == '#') {
// If this contains a '#', make sure it's value
if (*CurPtr == '#') {
if (strncmp(CurPtr, "#NAME#", 6) != 0) {
return tgtok::Error;
}
CurPtr += 6;
}
else {
++CurPtr;
}
}
// Match the rest of the identifier regex: [0-9a-zA-Z_#]*
while (isalpha(*CurPtr) || isdigit(*CurPtr) || *CurPtr == '_' ||
*CurPtr == '#')
++CurPtr;
// Check to see if this identifier is a keyword.