LLLexer.cpp (200581) | LLLexer.cpp (201360) |
---|---|
1//===- LLLexer.cpp - Lexer for .ll Files ----------------------------------===// 2// 3// The LLVM Compiler Infrastructure 4// 5// This file is distributed under the University of Illinois Open Source 6// License. See LICENSE.TXT for details. 7// 8//===----------------------------------------------------------------------===// --- 240 unchanged lines hidden (view full) --- 249 CurPtr = Ptr; 250 StrVal.assign(TokStart, CurPtr-1); 251 return lltok::LabelStr; 252 } 253 return lltok::Error; 254 case ';': 255 SkipLineComment(); 256 return LexToken(); | 1//===- LLLexer.cpp - Lexer for .ll Files ----------------------------------===// 2// 3// The LLVM Compiler Infrastructure 4// 5// This file is distributed under the University of Illinois Open Source 6// License. See LICENSE.TXT for details. 7// 8//===----------------------------------------------------------------------===// --- 240 unchanged lines hidden (view full) --- 249 CurPtr = Ptr; 250 StrVal.assign(TokStart, CurPtr-1); 251 return lltok::LabelStr; 252 } 253 return lltok::Error; 254 case ';': 255 SkipLineComment(); 256 return LexToken(); |
257 case '!': return LexMetadata(); | 257 case '!': return LexExclaim(); |
258 case '0': case '1': case '2': case '3': case '4': 259 case '5': case '6': case '7': case '8': case '9': 260 case '-': 261 return LexDigitOrNegative(); 262 case '=': return lltok::equal; 263 case '[': return lltok::lsquare; 264 case ']': return lltok::rsquare; 265 case '{': return lltok::lbrace; --- 151 unchanged lines hidden (view full) --- 417 ++ThisPtr; 418 if (*ThisPtr == '\n' || *ThisPtr == '\r') { 419 Ptr = ThisPtr; 420 return true; 421 } 422 return false; 423} 424 | 258 case '0': case '1': case '2': case '3': case '4': 259 case '5': case '6': case '7': case '8': case '9': 260 case '-': 261 return LexDigitOrNegative(); 262 case '=': return lltok::equal; 263 case '[': return lltok::lsquare; 264 case ']': return lltok::rsquare; 265 case '{': return lltok::lbrace; --- 151 unchanged lines hidden (view full) --- 417 ++ThisPtr; 418 if (*ThisPtr == '\n' || *ThisPtr == '\r') { 419 Ptr = ThisPtr; 420 return true; 421 } 422 return false; 423} 424 |
425/// LexMetadata: 426/// !{...} 427/// !42 | 425/// LexExclaim: |
428/// !foo | 426/// !foo |
429lltok::Kind LLLexer::LexMetadata() { | 427/// ! 428lltok::Kind LLLexer::LexExclaim() { 429 // Lex a metadata name as a MetadataVar. |
430 if (isalpha(CurPtr[0])) { 431 ++CurPtr; 432 while (isalnum(CurPtr[0]) || CurPtr[0] == '-' || CurPtr[0] == '$' || 433 CurPtr[0] == '.' || CurPtr[0] == '_') 434 ++CurPtr; 435 436 StrVal.assign(TokStart+1, CurPtr); // Skip ! | 430 if (isalpha(CurPtr[0])) { 431 ++CurPtr; 432 while (isalnum(CurPtr[0]) || CurPtr[0] == '-' || CurPtr[0] == '$' || 433 CurPtr[0] == '.' || CurPtr[0] == '_') 434 ++CurPtr; 435 436 StrVal.assign(TokStart+1, CurPtr); // Skip ! |
437 return lltok::NamedOrCustomMD; | 437 return lltok::MetadataVar; |
438 } | 438 } |
439 return lltok::Metadata; | 439 return lltok::exclaim; |
440} 441 442/// LexIdentifier: Handle several related productions: 443/// Label [-a-zA-Z$._0-9]+: 444/// IntegerType i[0-9]+ 445/// Keyword sdiv, float, ... 446/// HexIntConstant [us]0x[0-9A-Fa-f]+ 447lltok::Kind LLLexer::LexIdentifier() { --- 417 unchanged lines hidden --- | 440} 441 442/// LexIdentifier: Handle several related productions: 443/// Label [-a-zA-Z$._0-9]+: 444/// IntegerType i[0-9]+ 445/// Keyword sdiv, float, ... 446/// HexIntConstant [us]0x[0-9A-Fa-f]+ 447lltok::Kind LLLexer::LexIdentifier() { --- 417 unchanged lines hidden --- |