This commit is contained in:
blueloveTH 2023-06-05 18:35:37 +08:00
parent 1898c8a434
commit 19c0e8cac6

View File

@ -266,24 +266,20 @@ struct Lexer {
}; };
// handle "not in", "is not", "yield from" // handle "not in", "is not", "yield from"
if(!nexts.empty()){ if(!nexts.empty()){
switch(nexts.back().type){ auto& back = nexts.back();
case TK("not"): if(back.type == TK("not") && type == TK("in")){
if(type == TK("in")) { back.type = TK("not in");
nexts.back().type = TK("not in"); return;
return;
}
case TK("is"):
if(type == TK("not")){
nexts.back().type = TK("is not");
return;
}
case TK("yield"):
if(type == TK("from")){
nexts.back().type = TK("yield from");
return;
}
default: nexts.push_back(token); return;
} }
if(back.type == TK("is") && type == TK("not")){
back.type = TK("is not");
return;
}
if(back.type == TK("yield") && type == TK("from")){
back.type = TK("yield from");
return;
}
nexts.push_back(token);
} }
} }