Lines Matching refs:CurPtr
49 CurPtr = CurBuf.begin(); in TGLexer()
90 CurPtr = ParentIncludeLoc.getPointer(); in processEOF()
94 TokStart = CurPtr; in processEOF()
106 char CurChar = *CurPtr++; in getNextChar()
113 if (CurPtr-1 != CurBuf.end()) in getNextChar()
117 --CurPtr; // Another call to lex will return EOF again. in getNextChar()
125 if ((*CurPtr == '\n' || (*CurPtr == '\r')) && in getNextChar()
126 *CurPtr != CurChar) in getNextChar()
127 ++CurPtr; // Eat the two char newline sequence. in getNextChar()
133 return *(CurPtr + Index); in peekNextChar()
137 TokStart = CurPtr; in LexToken()
198 if (*CurPtr == '/') in LexToken()
200 else if (*CurPtr == '*') { in LexToken()
255 const char *StrStart = CurPtr; in LexString()
259 while (*CurPtr != '"') { in LexString()
261 if (*CurPtr == 0 && CurPtr == CurBuf.end()) in LexString()
264 if (*CurPtr == '\n' || *CurPtr == '\r') in LexString()
267 if (*CurPtr != '\\') { in LexString()
268 CurStrVal += *CurPtr++; in LexString()
272 ++CurPtr; in LexString()
274 switch (*CurPtr) { in LexString()
277 CurStrVal += *CurPtr++; in LexString()
281 ++CurPtr; in LexString()
285 ++CurPtr; in LexString()
290 return ReturnError(CurPtr, "escaped newlines not supported in tblgen"); in LexString()
294 if (CurPtr == CurBuf.end()) in LexString()
298 return ReturnError(CurPtr, "invalid escape in string literal"); in LexString()
302 ++CurPtr; in LexString()
307 if (!isalpha(CurPtr[0]) && CurPtr[0] != '_') in LexVarName()
311 const char *VarNameStart = CurPtr++; in LexVarName()
313 while (isalpha(*CurPtr) || isdigit(*CurPtr) || *CurPtr == '_') in LexVarName()
314 ++CurPtr; in LexVarName()
316 CurStrVal.assign(VarNameStart, CurPtr); in LexVarName()
325 while (isalpha(*CurPtr) || isdigit(*CurPtr) || *CurPtr == '_') in LexIdentifier()
326 ++CurPtr; in LexIdentifier()
329 StringRef Str(IdentStart, CurPtr-IdentStart); in LexIdentifier()
375 CurBuffer = SrcMgr.AddIncludeFile(Filename, SMLoc::getFromPointer(CurPtr), in LexInclude()
393 CurPtr = CurBuf.begin(); in LexInclude()
401 ++CurPtr; // skip the second slash. in SkipBCPLComment()
403 switch (*CurPtr) { in SkipBCPLComment()
409 if (CurPtr == CurBuf.end()) in SkipBCPLComment()
414 ++CurPtr; in SkipBCPLComment()
421 ++CurPtr; // skip the star. in SkipCComment()
432 if (CurPtr[0] != '/') break; in SkipCComment()
434 ++CurPtr; // End the */. in SkipCComment()
440 if (CurPtr[0] != '*') break; in SkipCComment()
441 ++CurPtr; in SkipCComment()
453 if (CurPtr[-1] == '0') { in LexNumber()
454 if (CurPtr[0] == 'x') { in LexNumber()
455 ++CurPtr; in LexNumber()
456 const char *NumStart = CurPtr; in LexNumber()
457 while (isxdigit(CurPtr[0])) in LexNumber()
458 ++CurPtr; in LexNumber()
461 if (CurPtr == NumStart) in LexNumber()
477 } else if (CurPtr[0] == 'b') { in LexNumber()
478 ++CurPtr; in LexNumber()
479 const char *NumStart = CurPtr; in LexNumber()
480 while (CurPtr[0] == '0' || CurPtr[0] == '1') in LexNumber()
481 ++CurPtr; in LexNumber()
484 if (CurPtr == NumStart) in LexNumber()
485 return ReturnError(CurPtr-2, "Invalid binary number"); in LexNumber()
492 if (!isdigit(CurPtr[0])) { in LexNumber()
493 if (CurPtr[-1] == '-') in LexNumber()
495 else if (CurPtr[-1] == '+') in LexNumber()
499 while (isdigit(CurPtr[0])) in LexNumber()
500 ++CurPtr; in LexNumber()
508 if (CurPtr[0] != '{') in LexBracket()
510 ++CurPtr; in LexBracket()
511 const char *CodeStart = CurPtr; in LexBracket()
521 CurStrVal.assign(CodeStart, CurPtr-2); in LexBracket()
531 if (!isalpha(*CurPtr)) in LexExclaim()
532 return ReturnError(CurPtr - 1, "Invalid \"!operator\""); in LexExclaim()
534 const char *Start = CurPtr++; in LexExclaim()
535 while (isalpha(*CurPtr)) in LexExclaim()
536 ++CurPtr; in LexExclaim()
540 StringSwitch<tgtok::TokKind>(StringRef(Start, CurPtr - Start)) in LexExclaim()
601 int NextChar = *CurPtr; in prepIsDirective()
655 TokStart = CurPtr; in prepEatPreprocessorDirective()
660 CurPtr += strlen(PreprocessorDirs[ID].Word); in prepEatPreprocessorDirective()
690 return ReturnError(CurPtr, in lexPreprocessor()
731 return ReturnError(CurPtr, "Only comments are supported after #else"); in lexPreprocessor()
759 return ReturnError(CurPtr, "Only comments are supported after #endif"); in lexPreprocessor()
781 return ReturnError(CurPtr, in lexPreprocessor()
812 if (*CurPtr == '#') in prepSkipRegion()
813 ++CurPtr; in prepSkipRegion()
850 } while (CurPtr != CurBuf.end()); in prepSkipRegion()
860 while (*CurPtr == ' ' || *CurPtr == '\t') in prepLexMacroName()
861 ++CurPtr; in prepLexMacroName()
863 TokStart = CurPtr; in prepLexMacroName()
865 if (*CurPtr != '_' && !isalpha(*CurPtr)) in prepLexMacroName()
869 while (isalpha(*CurPtr) || isdigit(*CurPtr) || *CurPtr == '_') in prepLexMacroName()
870 ++CurPtr; in prepLexMacroName()
872 return StringRef(TokStart, CurPtr - TokStart); in prepLexMacroName()
876 while (CurPtr != CurBuf.end()) { in prepSkipLineBegin()
877 switch (*CurPtr) { in prepSkipLineBegin()
897 TokStart = CurPtr; in prepSkipLineBegin()
900 ++CurPtr; in prepSkipLineBegin()
916 ++CurPtr; in prepSkipLineBegin()
925 while (CurPtr != CurBuf.end()) { in prepSkipDirectiveEnd()
926 switch (*CurPtr) { in prepSkipDirectiveEnd()
941 ++CurPtr; in prepSkipDirectiveEnd()
959 TokStart = CurPtr; in prepSkipDirectiveEnd()
960 ++CurPtr; in prepSkipDirectiveEnd()
964 TokStart = CurPtr; in prepSkipDirectiveEnd()
965 PrintError(CurPtr, "Unexpected character"); in prepSkipDirectiveEnd()
975 TokStart = CurPtr; in prepSkipDirectiveEnd()
979 ++CurPtr; in prepSkipDirectiveEnd()
986 while (*CurPtr != '\n' && *CurPtr != '\r' && CurPtr != CurBuf.end()) in prepSkipToLineEnd()
987 ++CurPtr; in prepSkipToLineEnd()
1010 TokStart = CurPtr; in prepReportPreprocessorStackError()