Separate rules for set, tuple, dict from list...

Sync fragments.py with pysource
This commit is contained in:
rocky
2017-12-05 00:12:11 -05:00
parent 00b95dd72e
commit 2d628acf60
5 changed files with 22 additions and 6 deletions

View File

@@ -678,10 +678,13 @@ class Python3Parser(PythonParser):
rule = ('load_closure ::= %s%s' % (('LOAD_CLOSURE ' * v), opname))
self.add_unique_rule(rule, opname, token.attr, customize)
if not is_LOAD_CLOSURE or v == 0:
rule = ('list ::= ' + 'expr1024 ' * int(v//1024) +
collection = opname_base[opname_base.find('_')+1:].lower()
rule = (('%s ::= ' % collection) + 'expr1024 ' * int(v//1024) +
'expr32 ' * int((v//32) % 32) +
'expr ' * (v % 32) + opname)
self.add_unique_rule(rule, opname, token.attr, customize)
self.add_unique_rules([
'expr ::= %s' % collection,
rule], customize)
continue
elif opname_base == 'BUILD_SLICE':
if token.attr == 2: