reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
49 CurPtr = CurBuf.begin(); 90 CurPtr = ParentIncludeLoc.getPointer(); 94 TokStart = CurPtr; 106 char CurChar = *CurPtr++; 113 if (CurPtr-1 != CurBuf.end()) 117 --CurPtr; // Another call to lex will return EOF again. 125 if ((*CurPtr == '\n' || (*CurPtr == '\r')) && 125 if ((*CurPtr == '\n' || (*CurPtr == '\r')) && 126 *CurPtr != CurChar) 127 ++CurPtr; // Eat the two char newline sequence. 133 return *(CurPtr + Index); 137 TokStart = CurPtr; 198 if (*CurPtr == '/') 200 else if (*CurPtr == '*') { 255 const char *StrStart = CurPtr; 259 while (*CurPtr != '"') { 261 if (*CurPtr == 0 && CurPtr == CurBuf.end()) 261 if (*CurPtr == 0 && CurPtr == CurBuf.end()) 264 if (*CurPtr == '\n' || *CurPtr == '\r') 264 if (*CurPtr == '\n' || *CurPtr == '\r') 267 if (*CurPtr != '\\') { 268 CurStrVal += *CurPtr++; 272 ++CurPtr; 274 switch (*CurPtr) { 277 CurStrVal += *CurPtr++; 281 ++CurPtr; 285 ++CurPtr; 290 return ReturnError(CurPtr, "escaped newlines not supported in tblgen"); 294 if (CurPtr == CurBuf.end()) 298 return ReturnError(CurPtr, "invalid escape in string literal"); 302 ++CurPtr; 307 if (!isalpha(CurPtr[0]) && CurPtr[0] != '_') 307 if (!isalpha(CurPtr[0]) && CurPtr[0] != '_') 311 const char *VarNameStart = CurPtr++; 313 while (isalpha(*CurPtr) || isdigit(*CurPtr) || *CurPtr == '_') 313 while (isalpha(*CurPtr) || isdigit(*CurPtr) || *CurPtr == '_') 313 while (isalpha(*CurPtr) || isdigit(*CurPtr) || *CurPtr == '_') 314 ++CurPtr; 316 CurStrVal.assign(VarNameStart, CurPtr); 325 while (isalpha(*CurPtr) || isdigit(*CurPtr) || *CurPtr == '_') 325 while (isalpha(*CurPtr) || isdigit(*CurPtr) || *CurPtr == '_') 325 while (isalpha(*CurPtr) || isdigit(*CurPtr) || *CurPtr == '_') 326 ++CurPtr; 329 StringRef Str(IdentStart, CurPtr-IdentStart); 375 CurBuffer = SrcMgr.AddIncludeFile(Filename, SMLoc::getFromPointer(CurPtr), 393 CurPtr = CurBuf.begin(); 401 ++CurPtr; // skip the second slash. 403 switch (*CurPtr) { 409 if (CurPtr == CurBuf.end()) 414 ++CurPtr; 421 ++CurPtr; // skip the star. 432 if (CurPtr[0] != '/') break; 434 ++CurPtr; // End the */. 440 if (CurPtr[0] != '*') break; 441 ++CurPtr; 453 if (CurPtr[-1] == '0') { 454 if (CurPtr[0] == 'x') { 455 ++CurPtr; 456 const char *NumStart = CurPtr; 457 while (isxdigit(CurPtr[0])) 458 ++CurPtr; 461 if (CurPtr == NumStart) 477 } else if (CurPtr[0] == 'b') { 478 ++CurPtr; 479 const char *NumStart = CurPtr; 480 while (CurPtr[0] == '0' || CurPtr[0] == '1') 480 while (CurPtr[0] == '0' || CurPtr[0] == '1') 481 ++CurPtr; 484 if (CurPtr == NumStart) 485 return ReturnError(CurPtr-2, "Invalid binary number"); 492 if (!isdigit(CurPtr[0])) { 493 if (CurPtr[-1] == '-') 495 else if (CurPtr[-1] == '+') 499 while (isdigit(CurPtr[0])) 500 ++CurPtr; 508 if (CurPtr[0] != '{') 510 ++CurPtr; 511 const char *CodeStart = CurPtr; 521 CurStrVal.assign(CodeStart, CurPtr-2); 531 if (!isalpha(*CurPtr)) 532 return ReturnError(CurPtr - 1, "Invalid \"!operator\""); 534 const char *Start = CurPtr++; 535 while (isalpha(*CurPtr)) 536 ++CurPtr; 540 StringSwitch<tgtok::TokKind>(StringRef(Start, CurPtr - Start)) 604 int NextChar = *CurPtr; 658 TokStart = CurPtr; 663 CurPtr += strlen(PreprocessorDirs[ID].Word); 700 return ReturnError(CurPtr, "Only comments are supported after " + 741 return ReturnError(CurPtr, "Only comments are supported after #else"); 769 return ReturnError(CurPtr, "Only comments are supported after #endif"); 791 return ReturnError(CurPtr, 822 if (*CurPtr == '#') 823 ++CurPtr; 860 } while (CurPtr != CurBuf.end()); 870 while (*CurPtr == ' ' || *CurPtr == '\t') 870 while (*CurPtr == ' ' || *CurPtr == '\t') 871 ++CurPtr; 873 TokStart = CurPtr; 875 if (*CurPtr != '_' && !isalpha(*CurPtr)) 875 if (*CurPtr != '_' && !isalpha(*CurPtr)) 879 while (isalpha(*CurPtr) || isdigit(*CurPtr) || *CurPtr == '_') 879 while (isalpha(*CurPtr) || isdigit(*CurPtr) || *CurPtr == '_') 879 while (isalpha(*CurPtr) || isdigit(*CurPtr) || *CurPtr == '_') 880 ++CurPtr; 882 return StringRef(TokStart, CurPtr - TokStart); 886 while (CurPtr != CurBuf.end()) { 887 switch (*CurPtr) { 907 TokStart = CurPtr; 910 ++CurPtr; 926 ++CurPtr; 935 while (CurPtr != CurBuf.end()) { 936 switch (*CurPtr) { 951 ++CurPtr; 969 TokStart = CurPtr; 970 ++CurPtr; 974 TokStart = CurPtr; 975 PrintError(CurPtr, "Unexpected character"); 985 TokStart = CurPtr; 989 ++CurPtr; 996 while (*CurPtr != '\n' && *CurPtr != '\r' && CurPtr != CurBuf.end()) 996 while (*CurPtr != '\n' && *CurPtr != '\r' && CurPtr != CurBuf.end()) 996 while (*CurPtr != '\n' && *CurPtr != '\r' && CurPtr != CurBuf.end()) 997 ++CurPtr; 1020 TokStart = CurPtr;lib/TableGen/TGLexer.h
99 return CurCode = LexToken(CurPtr == CurBuf.begin()); 121 return std::make_pair(CurIntVal, (CurPtr - TokStart)-2);