compile_ilp.py 文件源码

python
阅读 24 收藏 0 点赞 0 评论 0

项目:TerpreT 作者: 51alg 项目源码 文件源码
def make_switch_group(if_node, parent_case):
    cases_ast = u.if_and_or_else_blocks(if_node)

    switch_group = SwitchGroup(None, parent_case.num_switch_groups())
    switch_group.set_parent_case(parent_case)
    switch_group.var_name = None
    for if_node in cases_ast:
        compare_node = u.cast(if_node.test, ast.Compare)
        var_name, val = u.parse_compare(compare_node)

        if switch_group.var_name is None:
            switch_group.var_name = var_name
        else:
            assert var_name == switch_group.var_name, "if blocks must switch on same var"

        case_node = make_case_node(if_node.body, var_name, val)
        switch_group.add_case(val, case_node)

    return switch_group
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号