NT genexpr -> generate_exp to match AST

This commit is contained in:
rocky
2017-11-28 17:53:33 -05:00
parent dded92b85d
commit 071207ce48
7 changed files with 19 additions and 19 deletions

View File

@@ -294,9 +294,9 @@ class PythonParser(GenericASTBuilder):
load_closure ::= LOAD_CLOSURE
'''
def p_genexpr(self, args):
def p_generator_exp(self, args):
'''
expr ::= genexpr
expr ::= generator_exp
stmt ::= genexpr_func
genexpr_func ::= LOAD_FAST FOR_ITER designator comp_iter JUMP_BACK

View File

@@ -169,9 +169,9 @@ class Python2Parser(PythonParser):
jmp_abs ::= JUMP_BACK
'''
def p_genexpr2(self, args):
def p_generator_exp2(self, args):
'''
genexpr ::= LOAD_GENEXPR MAKE_FUNCTION_0 expr GET_ITER CALL_FUNCTION_1
generator_exp ::= LOAD_GENEXPR MAKE_FUNCTION_0 expr GET_ITER CALL_FUNCTION_1
'''
def p_expr2(self, args):
@@ -375,7 +375,7 @@ class Python2Parser(PythonParser):
prev_tok = tokens[i-1]
if prev_tok == 'LOAD_GENEXPR':
self.add_unique_rules([
('genexpr ::= %s load_closure LOAD_GENEXPR %s expr'
('generator_exp ::= %s load_closure LOAD_GENEXPR %s expr'
' GET_ITER CALL_FUNCTION_1' %
('expr '*v, opname))], customize)
pass

View File

@@ -213,7 +213,7 @@ class Python26Parser(Python2Parser):
genexpr_func ::= setup_loop_lf FOR_ITER designator comp_iter jb_bp_come_from
genexpr_func ::= setup_loop_lf FOR_ITER designator comp_iter JUMP_BACK come_from_pop
jb_bp_come_from
genexpr ::= LOAD_GENEXPR MAKE_FUNCTION_0 expr GET_ITER CALL_FUNCTION_1 COME_FROM
generator_exp ::= LOAD_GENEXPR MAKE_FUNCTION_0 expr GET_ITER CALL_FUNCTION_1 COME_FROM
list_if ::= list_if ::= expr jmp_false_then list_iter
'''

View File

@@ -74,7 +74,7 @@ class Python3Parser(PythonParser):
expr ::= dictcomp
stmt ::= dictcomp_func
dictcomp_func ::= BUILD_MAP_0 LOAD_FAST FOR_ITER designator
comp_iter JUMP_BACK RETURN_VALUE RETURN_LAST
comp_iter JUMP_BACK RETURN_VALUE RETURN_LAST
dictcomp ::= LOAD_DICTCOMP LOAD_CONST MAKE_FUNCTION_0 expr GET_ITER CALL_FUNCTION_1
"""
@@ -408,7 +408,7 @@ class Python3Parser(PythonParser):
COME_FROM_LOOP
"""
def p_genexpr3(self, args):
def p_generator_exp3(self, args):
'''
load_genexpr ::= LOAD_GENEXPR
load_genexpr ::= BUILD_TUPLE_1 LOAD_GENEXPR LOAD_CONST
@@ -596,9 +596,9 @@ class Python3Parser(PythonParser):
dictcomp ::= LOAD_DICTCOMP [LOAD_CONST] MAKE_FUNCTION_0 expr
GET_ITER CALL_FUNCTION_1
genexpr ::= {pos_arg}^n load_genexpr [LOAD_CONST] MAKE_FUNCTION_n expr
generator_exp ::= {pos_arg}^n load_genexpr [LOAD_CONST] MAKE_FUNCTION_n expr
GET_ITER CALL_FUNCTION_1
genexpr ::= {expr}^n load_closure LOAD_GENEXPR [LOAD_CONST]
generator_exp ::= {expr}^n load_closure LOAD_GENEXPR [LOAD_CONST]
MAKE_CLOSURE_n expr GET_ITER CALL_FUNCTION_1
listcomp ::= {pos_arg}^n LOAD_LISTCOMP [LOAD_CONST] MAKE_CLOSURE_n expr
GET_ITER CALL_FUNCTION_1
@@ -835,7 +835,7 @@ class Python3Parser(PythonParser):
self.add_make_function_rule(rule_pat, opname, token.attr, customize)
if has_get_iter_call_function1:
rule_pat = ("genexpr ::= %sload_closure load_genexpr %%s%s expr "
rule_pat = ("generator_exp ::= %sload_closure load_genexpr %%s%s expr "
"GET_ITER CALL_FUNCTION_1" % ('pos_arg '* args_pos, opname))
self.add_make_function_rule(rule_pat, opname, token.attr, customize)
if seen_LOAD_LISTCOMP:
@@ -890,7 +890,7 @@ class Python3Parser(PythonParser):
self.add_unique_rule(rule, opname, token.attr, customize)
if has_get_iter_call_function1:
rule_pat = ("genexpr ::= %sload_closure load_genexpr %%s%s expr "
rule_pat = ("generator_exp ::= %sload_closure load_genexpr %%s%s expr "
"GET_ITER CALL_FUNCTION_1" % ('pos_arg '* args_pos, opname))
self.add_make_function_rule(rule_pat, opname, token.attr, customize)
@@ -910,7 +910,7 @@ class Python3Parser(PythonParser):
args_pos, args_kw, annotate_args, closure = token.attr
if has_get_iter_call_function1:
rule_pat = ("genexpr ::= %sload_genexpr %%s%s expr "
rule_pat = ("generator_exp ::= %sload_genexpr %%s%s expr "
"GET_ITER CALL_FUNCTION_1" % ('pos_arg '* args_pos, opname))
self.add_make_function_rule(rule_pat, opname, token.attr, customize)
rule_pat = ('mklambda ::= %s%sLOAD_LAMBDA %%s%s' %

View File

@@ -305,7 +305,7 @@ PRECEDENCE = {
'dictcomp': 0,
'setcomp': 0,
'list_compr': 0,
'genexpr': 0,
'generator_exp': 0,
'load_attr': 2,
'binary_subscr': 2,

View File

@@ -570,7 +570,7 @@ class FragmentsWalker(pysource.SourceWalker, object):
# FIXME: clean this up
if self.version > 3.0 and node == 'dictcomp':
cn = node[1]
elif self.version > 3.0 and node == 'genexpr':
elif self.version > 3.0 and node == 'generator_exp':
if node[0] == 'load_genexpr':
load_genexpr = node[0]
elif node[1] == 'load_genexpr':
@@ -769,7 +769,7 @@ class FragmentsWalker(pysource.SourceWalker, object):
self.prec = p
def n_genexpr(self, node):
def n_generator_exp(self, node):
start = len(self.f.getvalue())
self.write('(')
code_index = -6 if self.version > 3.2 else -5

View File

@@ -1161,13 +1161,13 @@ class SourceWalker(GenericASTTraversal, object):
# FIXME: clean this up
if self.version > 3.0 and node == 'dictcomp':
cn = node[1]
elif self.version < 2.7 and node == 'genexpr':
elif self.version < 2.7 and node == 'generator_exp':
if node[0] == 'LOAD_GENEXPR':
cn = node[0]
elif node[0] == 'load_closure':
cn = node[1]
elif self.version > 3.0 and node == 'genexpr':
elif self.version > 3.0 and node == 'generator_exp':
if node[0] == 'load_genexpr':
load_genexpr = node[0]
elif node[1] == 'load_genexpr':
@@ -1221,7 +1221,7 @@ class SourceWalker(GenericASTTraversal, object):
self.preorder(ast[iter_index])
self.prec = p
def n_genexpr(self, node):
def n_generator_exp(self, node):
self.write('(')
code_index = -6 if self.version > 3.2 else -5
self.comprehension_walk(node, iter_index=3, code_index=code_index)