def ast_lambda(name, body): if PYTHON_VERSION is 2: return ast.Lambda(args=ast.arguments(args=[name], defaults=[]), body=body) elif PYTHON_VERSION is 3: return ast.Lambda(args=ast.arguments(args=[ast.arg(arg=name.id)], defaults=[], kwonlyargs=[], kw_defaults=[]), body=body) else: invalid_python_version()
def define_value_expression(): exprs = [ast.BoolOp, ast.BinOp, ast.UnaryOp, ast.Dict, ast.ListComp, ast.Num, ast.Str, ast.Subscript, ast.List, ast.Tuple] if PYTHON_VERSION is 2: return exprs elif PYTHON_VERSION is 3: return (exprs + [ast.DictComp, ast.SetComp]) else: invalid_python_version()