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

@@ -279,8 +279,13 @@ class Python2Parser(PythonParser):
self.add_unique_rule("expr1024 ::=%s" % (' expr32' * 32),
opname_base, v, customize)
self.seen1024 = True
rule = ('list ::= ' + 'expr1024 '*thousands +
collection = opname_base[opname_base.find('_')+1:].lower()
rule = (('%s ::= ' % collection) + 'expr1024 '*thousands +
'expr32 '*thirty32s + 'expr '*(v % 32) + opname)
self.add_unique_rules([
"expr ::= %s" % collection,
rule], customize)
continue
elif opname_base == 'BUILD_MAP':
if opname == 'BUILD_MAP_n':
# PyPy sometimes has no count. Sigh.