• Home
  • Raw
  • Download

Lines Matching refs:CurPtr

26   CurPtr = NULL;  in AsmLexer()
37 CurPtr = ptr; in setBuffer()
39 CurPtr = CurBuf->getBufferStart(); in setBuffer()
53 char CurChar = *CurPtr++; in getNextChar()
60 if (CurPtr-1 != CurBuf->getBufferEnd()) in getNextChar()
64 --CurPtr; // Another call to lex will return EOF again. in getNextChar()
76 while (isdigit(*CurPtr)) in LexFloatLiteral()
77 ++CurPtr; in LexFloatLiteral()
82 if (*CurPtr == 'e' || *CurPtr == 'E') { in LexFloatLiteral()
83 ++CurPtr; in LexFloatLiteral()
84 if (*CurPtr == '-' || *CurPtr == '+') in LexFloatLiteral()
85 ++CurPtr; in LexFloatLiteral()
86 while (isdigit(*CurPtr)) in LexFloatLiteral()
87 ++CurPtr; in LexFloatLiteral()
91 StringRef(TokStart, CurPtr - TokStart)); in LexFloatLiteral()
100 if (CurPtr[-1] == '.' && isdigit(*CurPtr)) { in LexIdentifier()
102 while (isdigit(*CurPtr)) in LexIdentifier()
103 ++CurPtr; in LexIdentifier()
104 if (*CurPtr == 'e' || *CurPtr == 'E' || !IsIdentifierChar(*CurPtr)) in LexIdentifier()
108 while (IsIdentifierChar(*CurPtr)) in LexIdentifier()
109 ++CurPtr; in LexIdentifier()
112 if (CurPtr == TokStart+1 && TokStart[0] == '.') in LexIdentifier()
115 return AsmToken(AsmToken::Identifier, StringRef(TokStart, CurPtr - TokStart)); in LexIdentifier()
121 switch (*CurPtr) { in LexSlash()
123 case '/': return ++CurPtr, LexLineComment(); in LexSlash()
124 default: return AsmToken(AsmToken::Slash, StringRef(CurPtr-1, 1)); in LexSlash()
128 ++CurPtr; // skip the star. in LexSlash()
136 if (CurPtr[0] != '/') break; in LexSlash()
138 ++CurPtr; // End the */. in LexSlash()
154 return AsmToken(AsmToken::Eof, StringRef(CurPtr, 0)); in LexLineComment()
155 return AsmToken(AsmToken::EndOfStatement, StringRef(CurPtr, 0)); in LexLineComment()
158 static void SkipIgnoredIntegerSuffix(const char *&CurPtr) { in SkipIgnoredIntegerSuffix() argument
159 if (CurPtr[0] == 'L' && CurPtr[1] == 'L') in SkipIgnoredIntegerSuffix()
160 CurPtr += 2; in SkipIgnoredIntegerSuffix()
161 if (CurPtr[0] == 'U' && CurPtr[1] == 'L' && CurPtr[2] == 'L') in SkipIgnoredIntegerSuffix()
162 CurPtr += 3; in SkipIgnoredIntegerSuffix()
174 if (CurPtr[-1] != '0' || CurPtr[0] == '.') { in LexDigit()
175 while (isdigit(*CurPtr)) in LexDigit()
176 ++CurPtr; in LexDigit()
179 if (*CurPtr == '.' || *CurPtr == 'e') { in LexDigit()
180 ++CurPtr; in LexDigit()
184 StringRef Result(TokStart, CurPtr - TokStart); in LexDigit()
198 SkipIgnoredIntegerSuffix(CurPtr); in LexDigit()
203 if (*CurPtr == 'b') { in LexDigit()
204 ++CurPtr; in LexDigit()
206 if (!isdigit(CurPtr[0])) { in LexDigit()
207 --CurPtr; in LexDigit()
208 StringRef Result(TokStart, CurPtr - TokStart); in LexDigit()
211 const char *NumStart = CurPtr; in LexDigit()
212 while (CurPtr[0] == '0' || CurPtr[0] == '1') in LexDigit()
213 ++CurPtr; in LexDigit()
216 if (CurPtr == NumStart) in LexDigit()
219 StringRef Result(TokStart, CurPtr - TokStart); in LexDigit()
227 SkipIgnoredIntegerSuffix(CurPtr); in LexDigit()
232 if (*CurPtr == 'x') { in LexDigit()
233 ++CurPtr; in LexDigit()
234 const char *NumStart = CurPtr; in LexDigit()
235 while (isxdigit(CurPtr[0])) in LexDigit()
236 ++CurPtr; in LexDigit()
239 if (CurPtr == NumStart) in LexDigit()
240 return ReturnError(CurPtr-2, "invalid hexadecimal number"); in LexDigit()
243 if (StringRef(TokStart, CurPtr - TokStart).getAsInteger(0, Result)) in LexDigit()
248 SkipIgnoredIntegerSuffix(CurPtr); in LexDigit()
250 return AsmToken(AsmToken::Integer, StringRef(TokStart, CurPtr - TokStart), in LexDigit()
255 while (*CurPtr >= '0' && *CurPtr <= '9') in LexDigit()
256 ++CurPtr; in LexDigit()
258 StringRef Result(TokStart, CurPtr - TokStart); in LexDigit()
265 SkipIgnoredIntegerSuffix(CurPtr); in LexDigit()
287 StringRef Res = StringRef(TokStart,CurPtr - TokStart); in LexSingleQuote()
322 return AsmToken(AsmToken::String, StringRef(TokStart, CurPtr - TokStart)); in LexQuote()
326 TokStart = CurPtr; in LexUntilEndOfStatement()
328 while (!isAtStartOfComment(*CurPtr) && // Start of line comment. in LexUntilEndOfStatement()
329 !isAtStatementSeparator(CurPtr) && // End of statement marker. in LexUntilEndOfStatement()
330 *CurPtr != '\n' && in LexUntilEndOfStatement()
331 *CurPtr != '\r' && in LexUntilEndOfStatement()
332 (*CurPtr != 0 || CurPtr != CurBuf->getBufferEnd())) { in LexUntilEndOfStatement()
333 ++CurPtr; in LexUntilEndOfStatement()
335 return StringRef(TokStart, CurPtr-TokStart); in LexUntilEndOfStatement()
339 TokStart = CurPtr; in LexUntilEndOfLine()
341 while (*CurPtr != '\n' && in LexUntilEndOfLine()
342 *CurPtr != '\r' && in LexUntilEndOfLine()
343 (*CurPtr != 0 || CurPtr != CurBuf->getBufferEnd())) { in LexUntilEndOfLine()
344 ++CurPtr; in LexUntilEndOfLine()
346 return StringRef(TokStart, CurPtr-TokStart); in LexUntilEndOfLine()
360 TokStart = CurPtr; in LexToken()
374 CurPtr += strlen(MAI.getSeparatorString()) - 1; in LexToken()
421 if (*CurPtr == '=') in LexToken()
422 return ++CurPtr, AsmToken(AsmToken::EqualEqual, StringRef(TokStart, 2)); in LexToken()
425 if (*CurPtr == '|') in LexToken()
426 return ++CurPtr, AsmToken(AsmToken::PipePipe, StringRef(TokStart, 2)); in LexToken()
430 if (*CurPtr == '&') in LexToken()
431 return ++CurPtr, AsmToken(AsmToken::AmpAmp, StringRef(TokStart, 2)); in LexToken()
434 if (*CurPtr == '=') in LexToken()
435 return ++CurPtr, AsmToken(AsmToken::ExclaimEqual, StringRef(TokStart, 2)); in LexToken()
446 switch (*CurPtr) { in LexToken()
447 case '<': return ++CurPtr, AsmToken(AsmToken::LessLess, in LexToken()
449 case '=': return ++CurPtr, AsmToken(AsmToken::LessEqual, in LexToken()
451 case '>': return ++CurPtr, AsmToken(AsmToken::LessGreater, in LexToken()
456 switch (*CurPtr) { in LexToken()
457 case '>': return ++CurPtr, AsmToken(AsmToken::GreaterGreater, in LexToken()
459 case '=': return ++CurPtr, AsmToken(AsmToken::GreaterEqual, in LexToken()