Better 3.x if/else reduction rule checking

This commit is contained in:
rocky
2020-01-05 13:27:50 -05:00
parent 6646d18c7a
commit d088e7ef11

View File

@@ -1586,6 +1586,12 @@ class Python3Parser(PythonParser):
if not isinstance(come_froms, Token):
return tokens[first].offset > come_froms[-1].attr
return False
elif lhs == "ifelsestmt" and rule[1][2] == "jump_forward_else":
last = min(last, len(tokens)-1)
if tokens[last].off2int() == -1:
last -= 1
jump_forward_else = ast[2]
return tokens[first].off2int() <= jump_forward_else[0].attr < tokens[last].off2int()
return False