没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
使用Python AST的工具箱 pip install ast_tools 有用的参考 通行证 ast_tools提供了许多用于重写函数和类的过程(也可以在模块级别工作,但是不存在这样的过程)。 通行证与apply_passes装饰器一起应用: @ apply_passes ([ pass1 (), pass2 ()]) def foo (...): ... 每次传递都将AST,环境和元数据作为参数,并返回(可能是)每个AST的修改版本。 apply_passes通过首先查找装饰对象的ast并收集尝试从调用站点收集本地和全局变量以构建环境的尝试来开始一连串的重写。 运行apply_passes所有重写后, apply_passes序列化并执行重写的ast。 知道问题 收集AST apply_passes依赖inspect.getsource来获取修饰后的定义的源(然后对其进行解析
资源推荐
资源详情
资源评论
收起资源包目录
ast_tools-master.zip (59个子文件)
ast_tools-master
.gitignore 47B
README.md 4KB
tests
test_visitors.py 2KB
test_unroll.py 4KB
test_stack.py 2KB
test_ssa.py 10KB
test_cse.py 526B
test_assert_remover.py 418B
test_normalizers.py 2KB
test_immutable_ast.py 3KB
test_if_to_phi.py 1KB
test_bool_to_bit.py 822B
test_passes.py 3KB
test_inline.py 3KB
test_common.py 2KB
test_pattern.py 1KB
ast_tools
macros.py 252B
common.py 6KB
metadata
always_returns_provider.py 1KB
condition_provider.py 2KB
__init__.py 139B
utils.py 4KB
visitors
collect_targets.py 730B
used_names.py 917B
__init__.py 86B
collect_names.py 1KB
node_finder.py 607B
__init__.py 177B
transformers
renamer.py 428B
node_replacer.py 1KB
node_tracker.py 4KB
normalizers.py 2KB
symbol_replacer.py 343B
loop_unroller.py 2KB
if_inliner.py 1KB
__init__.py 294B
stack.py 4KB
passes
base.py 674B
remove_asserts.py 650B
ssa.py 25KB
if_inline.py 401B
loop_unroll.py 418B
util.py 7KB
cse.py 6KB
if_to_phi.py 2KB
__init__.py 339B
bool_to_bit.py 2KB
debug.py 3KB
pattern.py 3KB
cst_utils
insert_statements.py 14KB
__init__.py 1KB
deep_node.py 3KB
setup.py 2KB
.travis.yml 1KB
util
generate_ast
_functions.px 3KB
generate.py 3KB
__init__.py 93B
_meta.px 744B
_base.px 1KB
共 59 条
- 1
资源评论
花花鼓
- 粉丝: 28
- 资源: 4647
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功