Add grammar rule involving RETURN_END_IF

This commit is contained in:
rocky
2024-07-13 15:57:24 -04:00
parent e3579463ab
commit 7787166ddf
4 changed files with 13 additions and 1 deletions

Binary file not shown.

View File

@@ -0,0 +1,10 @@
# Adapted 3.5 from _bootstrap_external.py
def spec_from_file_location(loader, location):
if loader:
for _ in __file__:
if location:
break
else:
return None

View File

@@ -111,6 +111,8 @@ class Python35Parser(Python34Parser):
return_if_stmt ::= return_expr RETURN_END_IF POP_BLOCK
return_if_lambda ::= RETURN_END_IF_LAMBDA COME_FROM
return ::= return_expr RETURN_END_IF
jb_else ::= JUMP_BACK ELSE
ifelsestmtc ::= testexpr c_stmts_opt JUMP_FORWARD else_suitec
ifelsestmtl ::= testexpr c_stmts_opt jb_else else_suitel

View File

@@ -431,7 +431,7 @@ TABLE_DIRECT = {
"mkfuncdeco": ("%|@%c\n%c", (0, "expr"), 1),
# A custom rule in n_function def distinguishes whether to call this or
# function_def_async
"mkfuncdeco0": ("%|def %c\n", (0, "mkfunc")),
"mkfuncdeco0": ("%|def %c\n", (0, ("mkfunc", "mkfunc_annotate"))),
# In cases where we desire an explict new line.
# After docstrings which are followed by a "def" is