mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-12 17:32:19 +00:00
various cleanups, no functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129192 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
1bdedb9e46
commit
13a38c4cb4
@ -131,26 +131,26 @@ bool Pattern::ParsePattern(StringRef PatternStr, SourceMgr &SM) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Paren value #0 is for the fully matched string. Any new parenthesized
|
// Paren value #0 is for the fully matched string. Any new parenthesized
|
||||||
// values add from their.
|
// values add from there.
|
||||||
unsigned CurParen = 1;
|
unsigned CurParen = 1;
|
||||||
|
|
||||||
// Otherwise, there is at least one regex piece. Build up the regex pattern
|
// Otherwise, there is at least one regex piece. Build up the regex pattern
|
||||||
// by escaping scary characters in fixed strings, building up one big regex.
|
// by escaping scary characters in fixed strings, building up one big regex.
|
||||||
while (!PatternStr.empty()) {
|
while (!PatternStr.empty()) {
|
||||||
// RegEx matches.
|
// RegEx matches.
|
||||||
if (PatternStr.size() >= 2 &&
|
if (PatternStr.startswith("{{")) {
|
||||||
PatternStr[0] == '{' && PatternStr[1] == '{') {
|
|
||||||
|
|
||||||
// Otherwise, this is the start of a regex match. Scan for the }}.
|
// Otherwise, this is the start of a regex match. Scan for the }}.
|
||||||
size_t End = PatternStr.find("}}");
|
size_t End = PatternStr.find("}}");
|
||||||
if (End == StringRef::npos) {
|
if (End == StringRef::npos) {
|
||||||
SM.PrintMessage(SMLoc::getFromPointer(PatternStr.data()),
|
SM.PrintMessage(SMLoc::getFromPointer(PatternStr.data()),
|
||||||
"found start of regex string with no end '}}'", "error");
|
"found start of regex string with no end '}}'","error");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (AddRegExToRegEx(PatternStr.substr(2, End-2), CurParen, SM))
|
if (AddRegExToRegEx(PatternStr.substr(2, End-2), CurParen, SM))
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
PatternStr = PatternStr.substr(End+2);
|
PatternStr = PatternStr.substr(End+2);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
@ -160,8 +160,7 @@ bool Pattern::ParsePattern(StringRef PatternStr, SourceMgr &SM) {
|
|||||||
// second form is [[foo]] which is a reference to foo. The variable name
|
// second form is [[foo]] which is a reference to foo. The variable name
|
||||||
// itself must be of the form "[a-zA-Z_][0-9a-zA-Z_]*", otherwise we reject
|
// itself must be of the form "[a-zA-Z_][0-9a-zA-Z_]*", otherwise we reject
|
||||||
// it. This is to catch some common errors.
|
// it. This is to catch some common errors.
|
||||||
if (PatternStr.size() >= 2 &&
|
if (PatternStr.startswith("[[")) {
|
||||||
PatternStr[0] == '[' && PatternStr[1] == '[') {
|
|
||||||
// Verify that it is terminated properly.
|
// Verify that it is terminated properly.
|
||||||
size_t End = PatternStr.find("]]");
|
size_t End = PatternStr.find("]]");
|
||||||
if (End == StringRef::npos) {
|
if (End == StringRef::npos) {
|
||||||
@ -185,10 +184,7 @@ bool Pattern::ParsePattern(StringRef PatternStr, SourceMgr &SM) {
|
|||||||
|
|
||||||
// Verify that the name is well formed.
|
// Verify that the name is well formed.
|
||||||
for (unsigned i = 0, e = Name.size(); i != e; ++i)
|
for (unsigned i = 0, e = Name.size(); i != e; ++i)
|
||||||
if (Name[i] != '_' &&
|
if (Name[i] != '_' && !isalnum(Name[i])) {
|
||||||
(Name[i] < 'a' || Name[i] > 'z') &&
|
|
||||||
(Name[i] < 'A' || Name[i] > 'Z') &&
|
|
||||||
(Name[i] < '0' || Name[i] > '9')) {
|
|
||||||
SM.PrintMessage(SMLoc::getFromPointer(Name.data()+i),
|
SM.PrintMessage(SMLoc::getFromPointer(Name.data()+i),
|
||||||
"invalid name in named regex", "error");
|
"invalid name in named regex", "error");
|
||||||
return true;
|
return true;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user