You've already forked python-uncompyle6
mirror of
https://github.com/rocky/python-uncompyle6.git
synced 2025-08-03 00:45:53 +08:00
unmap_dict -> dict_doublestar ...
This matches Python's AST (Dict) better. Variations or specializations of an AST name, e.g. "unmap" should come at the end, not the beginning.
This commit is contained in:
@@ -775,7 +775,7 @@ class Python3Parser(PythonParser):
|
||||
# FIXME: Use the attr
|
||||
# so this doesn't run into exponential parsing time.
|
||||
if opname.startswith("BUILD_MAP_UNPACK"):
|
||||
# FIXME: start here. The LHS should be unmap_dict, not dict.
|
||||
# FIXME: start here. The LHS should be dict_unmap, not dict.
|
||||
# FIXME: really we need a combination of dict_entry-like things.
|
||||
# It just so happens the most common case is not to mix
|
||||
# dictionary comphensions with dictionary, elements
|
||||
@@ -786,8 +786,8 @@ class Python3Parser(PythonParser):
|
||||
)
|
||||
self.addRule(rule, nop_func)
|
||||
rule = """
|
||||
expr ::= unmap_dict
|
||||
unmap_dict ::= %s%s
|
||||
expr ::= dict_unmap
|
||||
dict_unmap ::= %s%s
|
||||
""" % (
|
||||
"expr " * token.attr,
|
||||
opname,
|
||||
|
@@ -201,8 +201,8 @@ class Python35Parser(Python34Parser):
|
||||
self.addRule(rules_str, nop_func)
|
||||
elif opname == 'BUILD_MAP_UNPACK':
|
||||
self.addRule("""
|
||||
expr ::= unmap_dict
|
||||
unmap_dict ::= dict_comp BUILD_MAP_UNPACK
|
||||
expr ::= dict_unmap
|
||||
dict_unmap ::= dict_comp BUILD_MAP_UNPACK
|
||||
""", nop_func)
|
||||
|
||||
elif opname == 'SETUP_WITH':
|
||||
|
@@ -336,8 +336,8 @@ class Python37BaseParser(PythonParser):
|
||||
if opname == "BUILD_MAP_UNPACK":
|
||||
self.addRule(
|
||||
"""
|
||||
expr ::= unmap_dict
|
||||
unmap_dict ::= dict_comp BUILD_MAP_UNPACK
|
||||
expr ::= dict_unmap
|
||||
dict_unmap ::= dict_comp BUILD_MAP_UNPACK
|
||||
""",
|
||||
nop_func,
|
||||
)
|
||||
@@ -367,7 +367,7 @@ class Python37BaseParser(PythonParser):
|
||||
# FIXME: Use the attr
|
||||
# so this doesn't run into exponential parsing time.
|
||||
if opname.startswith("BUILD_MAP_UNPACK"):
|
||||
# FIXME: start here. The LHS should be unmap_dict, not dict.
|
||||
# FIXME: start here. The LHS should be dict_unmap, not dict.
|
||||
# FIXME: really we need a combination of dict_entry-like things.
|
||||
# It just so happens the most common case is not to mix
|
||||
# dictionary comphensions with dictionary, elements
|
||||
@@ -375,8 +375,8 @@ class Python37BaseParser(PythonParser):
|
||||
rule = "dict ::= %s%s" % ("dict_comp " * token.attr, opname)
|
||||
self.addRule(rule, nop_func)
|
||||
rule = """
|
||||
expr ::= unmap_dict
|
||||
unmap_dict ::= %s%s
|
||||
expr ::= dict_unmap
|
||||
dict_unmap ::= %s%s
|
||||
""" % (
|
||||
"expr " * token.attr,
|
||||
opname,
|
||||
|
@@ -51,7 +51,7 @@ def customize_for_version35(self, version):
|
||||
(2, "store"),
|
||||
3,
|
||||
),
|
||||
"unmap_dict": ("{**%C}", (0, -1, ", **")),
|
||||
"dict_unmap": ("{**%C}", (0, -1, ", **")),
|
||||
# "unmapexpr": ( "{**%c}", 0), # done by n_unmapexpr
|
||||
}
|
||||
)
|
||||
|
@@ -44,7 +44,7 @@ def customize_for_version36(self, version):
|
||||
PRECEDENCE["call_ex_kw2"] = 1
|
||||
PRECEDENCE["call_ex_kw3"] = 1
|
||||
PRECEDENCE["call_ex_kw4"] = 1
|
||||
PRECEDENCE["unmap_dict"] = 0
|
||||
PRECEDENCE["dict_unmap"] = 0 # **{ ... }
|
||||
PRECEDENCE["formatted_value1"] = 100
|
||||
|
||||
TABLE_DIRECT.update(
|
||||
|
@@ -38,7 +38,6 @@ def customize_for_version37(self, version):
|
||||
PRECEDENCE["formatted_value1"] = 100
|
||||
PRECEDENCE["if_exp_37a"] = 28
|
||||
PRECEDENCE["if_exp_37b"] = 28
|
||||
PRECEDENCE["unmap_dict"] = 0
|
||||
|
||||
TABLE_DIRECT.update(
|
||||
{
|
||||
@@ -161,7 +160,7 @@ def customize_for_version37(self, version):
|
||||
"testfalsel": ("not %c", (0, "expr")),
|
||||
"try_except36": ("%|try:\n%+%c%-%c\n\n", 1, -2),
|
||||
"tryfinally36": ("%|try:\n%+%c%-%|finally:\n%+%c%-\n\n", (1, "returns"), 3),
|
||||
"unmap_dict": ("{**%C}", (0, -1, ", **")),
|
||||
"dict_unmap": ("{**%C}", (0, -1, ", **")),
|
||||
"unpack_list": ("*%c", (0, "list")),
|
||||
"yield_from": ("yield from %c", (0, "expr")),
|
||||
}
|
||||
|
Reference in New Issue
Block a user