forked from OSchip/llvm-project
rename lltok::Metadata -> lltok::exclaim. We name tokens
after their syntactic form, not their semantic form. llvm-svn: 92294
This commit is contained in:
parent
fc58af26d5
commit
1eed2d65c0
|
|
@ -254,7 +254,7 @@ lltok::Kind LLLexer::LexToken() {
|
||||||
case ';':
|
case ';':
|
||||||
SkipLineComment();
|
SkipLineComment();
|
||||||
return LexToken();
|
return LexToken();
|
||||||
case '!': return LexMetadata();
|
case '!': return LexExclaim();
|
||||||
case '0': case '1': case '2': case '3': case '4':
|
case '0': case '1': case '2': case '3': case '4':
|
||||||
case '5': case '6': case '7': case '8': case '9':
|
case '5': case '6': case '7': case '8': case '9':
|
||||||
case '-':
|
case '-':
|
||||||
|
|
@ -422,11 +422,11 @@ static bool JustWhitespaceNewLine(const char *&Ptr) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// LexMetadata:
|
/// LexExclaim:
|
||||||
/// !{...}
|
/// !{...}
|
||||||
/// !42
|
/// !42
|
||||||
/// !foo
|
/// !foo
|
||||||
lltok::Kind LLLexer::LexMetadata() {
|
lltok::Kind LLLexer::LexExclaim() {
|
||||||
if (isalpha(CurPtr[0])) {
|
if (isalpha(CurPtr[0])) {
|
||||||
++CurPtr;
|
++CurPtr;
|
||||||
while (isalnum(CurPtr[0]) || CurPtr[0] == '-' || CurPtr[0] == '$' ||
|
while (isalnum(CurPtr[0]) || CurPtr[0] == '-' || CurPtr[0] == '$' ||
|
||||||
|
|
@ -436,7 +436,7 @@ lltok::Kind LLLexer::LexMetadata() {
|
||||||
StrVal.assign(TokStart+1, CurPtr); // Skip !
|
StrVal.assign(TokStart+1, CurPtr); // Skip !
|
||||||
return lltok::NamedOrCustomMD;
|
return lltok::NamedOrCustomMD;
|
||||||
}
|
}
|
||||||
return lltok::Metadata;
|
return lltok::exclaim;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// LexIdentifier: Handle several related productions:
|
/// LexIdentifier: Handle several related productions:
|
||||||
|
|
|
||||||
|
|
@ -75,7 +75,7 @@ namespace llvm {
|
||||||
lltok::Kind LexDigitOrNegative();
|
lltok::Kind LexDigitOrNegative();
|
||||||
lltok::Kind LexPositive();
|
lltok::Kind LexPositive();
|
||||||
lltok::Kind LexAt();
|
lltok::Kind LexAt();
|
||||||
lltok::Kind LexMetadata();
|
lltok::Kind LexExclaim();
|
||||||
lltok::Kind LexPercent();
|
lltok::Kind LexPercent();
|
||||||
lltok::Kind LexQuote();
|
lltok::Kind LexQuote();
|
||||||
lltok::Kind Lex0x();
|
lltok::Kind Lex0x();
|
||||||
|
|
|
||||||
|
|
@ -168,7 +168,7 @@ bool LLParser::ParseTopLevelEntities() {
|
||||||
case lltok::LocalVar: if (ParseNamedType()) return true; break;
|
case lltok::LocalVar: if (ParseNamedType()) return true; break;
|
||||||
case lltok::GlobalID: if (ParseUnnamedGlobal()) return true; break;
|
case lltok::GlobalID: if (ParseUnnamedGlobal()) return true; break;
|
||||||
case lltok::GlobalVar: if (ParseNamedGlobal()) return true; break;
|
case lltok::GlobalVar: if (ParseNamedGlobal()) return true; break;
|
||||||
case lltok::Metadata: if (ParseStandaloneMetadata()) return true; break;
|
case lltok::exclaim: if (ParseStandaloneMetadata()) return true; break;
|
||||||
case lltok::NamedOrCustomMD: if (ParseNamedMetadata()) return true; break;
|
case lltok::NamedOrCustomMD: if (ParseNamedMetadata()) return true; break;
|
||||||
|
|
||||||
// The Global variable production with no name can have many different
|
// The Global variable production with no name can have many different
|
||||||
|
|
@ -506,13 +506,13 @@ bool LLParser::ParseNamedMetadata() {
|
||||||
std::string Name = Lex.getStrVal();
|
std::string Name = Lex.getStrVal();
|
||||||
|
|
||||||
if (ParseToken(lltok::equal, "expected '=' here") ||
|
if (ParseToken(lltok::equal, "expected '=' here") ||
|
||||||
ParseToken(lltok::Metadata, "Expected '!' here") ||
|
ParseToken(lltok::exclaim, "Expected '!' here") ||
|
||||||
ParseToken(lltok::lbrace, "Expected '{' here"))
|
ParseToken(lltok::lbrace, "Expected '{' here"))
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
SmallVector<MetadataBase *, 8> Elts;
|
SmallVector<MetadataBase *, 8> Elts;
|
||||||
do {
|
do {
|
||||||
if (ParseToken(lltok::Metadata, "Expected '!' here"))
|
if (ParseToken(lltok::exclaim, "Expected '!' here"))
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
// FIXME: This rejects MDStrings. Are they legal in an named MDNode or not?
|
// FIXME: This rejects MDStrings. Are they legal in an named MDNode or not?
|
||||||
|
|
@ -531,7 +531,7 @@ bool LLParser::ParseNamedMetadata() {
|
||||||
/// ParseStandaloneMetadata:
|
/// ParseStandaloneMetadata:
|
||||||
/// !42 = !{...}
|
/// !42 = !{...}
|
||||||
bool LLParser::ParseStandaloneMetadata() {
|
bool LLParser::ParseStandaloneMetadata() {
|
||||||
assert(Lex.getKind() == lltok::Metadata);
|
assert(Lex.getKind() == lltok::exclaim);
|
||||||
Lex.Lex();
|
Lex.Lex();
|
||||||
unsigned MetadataID = 0;
|
unsigned MetadataID = 0;
|
||||||
|
|
||||||
|
|
@ -542,7 +542,7 @@ bool LLParser::ParseStandaloneMetadata() {
|
||||||
if (ParseUInt32(MetadataID) ||
|
if (ParseUInt32(MetadataID) ||
|
||||||
ParseToken(lltok::equal, "expected '=' here") ||
|
ParseToken(lltok::equal, "expected '=' here") ||
|
||||||
ParseType(Ty, TyLoc) ||
|
ParseType(Ty, TyLoc) ||
|
||||||
ParseToken(lltok::Metadata, "Expected metadata here") ||
|
ParseToken(lltok::exclaim, "Expected '!' here") ||
|
||||||
ParseToken(lltok::lbrace, "Expected '{' here") ||
|
ParseToken(lltok::lbrace, "Expected '{' here") ||
|
||||||
ParseMDNodeVector(Elts) ||
|
ParseMDNodeVector(Elts) ||
|
||||||
ParseToken(lltok::rbrace, "expected end of metadata node"))
|
ParseToken(lltok::rbrace, "expected end of metadata node"))
|
||||||
|
|
@ -1074,12 +1074,10 @@ bool LLParser::ParseOptionalCustomMetadata() {
|
||||||
std::string Name = Lex.getStrVal();
|
std::string Name = Lex.getStrVal();
|
||||||
Lex.Lex();
|
Lex.Lex();
|
||||||
|
|
||||||
if (Lex.getKind() != lltok::Metadata)
|
|
||||||
return TokError("expected '!' here");
|
|
||||||
Lex.Lex();
|
|
||||||
|
|
||||||
MDNode *Node;
|
MDNode *Node;
|
||||||
if (ParseMDNodeID(Node)) return true;
|
if (ParseToken(lltok::exclaim, "expected '!' here") ||
|
||||||
|
ParseMDNodeID(Node))
|
||||||
|
return true;
|
||||||
|
|
||||||
unsigned MDK = M->getMDKindID(Name.c_str());
|
unsigned MDK = M->getMDKindID(Name.c_str());
|
||||||
MDsOnInst.push_back(std::make_pair(MDK, Node));
|
MDsOnInst.push_back(std::make_pair(MDK, Node));
|
||||||
|
|
@ -1890,7 +1888,7 @@ bool LLParser::ParseValID(ValID &ID) {
|
||||||
ID.StrVal = Lex.getStrVal();
|
ID.StrVal = Lex.getStrVal();
|
||||||
ID.Kind = ValID::t_LocalName;
|
ID.Kind = ValID::t_LocalName;
|
||||||
break;
|
break;
|
||||||
case lltok::Metadata: // !{...} MDNode, !"foo" MDString
|
case lltok::exclaim: // !{...} MDNode, !"foo" MDString
|
||||||
Lex.Lex();
|
Lex.Lex();
|
||||||
|
|
||||||
// FIXME: This doesn't belong here.
|
// FIXME: This doesn't belong here.
|
||||||
|
|
|
||||||
|
|
@ -29,6 +29,7 @@ namespace lltok {
|
||||||
less, greater, // < >
|
less, greater, // < >
|
||||||
lparen, rparen, // ( )
|
lparen, rparen, // ( )
|
||||||
backslash, // \ (not /)
|
backslash, // \ (not /)
|
||||||
|
exclaim, // !
|
||||||
|
|
||||||
kw_x,
|
kw_x,
|
||||||
kw_begin, kw_end,
|
kw_begin, kw_end,
|
||||||
|
|
@ -131,9 +132,6 @@ namespace lltok {
|
||||||
StringConstant, // "foo"
|
StringConstant, // "foo"
|
||||||
NamedOrCustomMD, // !foo
|
NamedOrCustomMD, // !foo
|
||||||
|
|
||||||
// Metadata valued tokens.
|
|
||||||
Metadata, // !"foo" !{i8 42}
|
|
||||||
|
|
||||||
// Type valued tokens (TyVal).
|
// Type valued tokens (TyVal).
|
||||||
Type,
|
Type,
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue