compile_sketch.py 文件源码

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

项目:TerpreT 作者: 51alg 项目源码 文件源码
def visit_For(self, forstmt):
        s = ""
        if isinstance(forstmt.iter, ast.Call) \
           and isinstance(forstmt.iter.func, ast.Name) \
           and forstmt.iter.func.id == "range":
            iter_var = self.visit(forstmt.target)
            if len(forstmt.iter.args) == 1:
                iter_len = self.visit(forstmt.iter.args[0])
                s += "for (int %s = 0; %s < %s; %s++) {\n" % (iter_var, iter_var,
                                                          iter_len, iter_var)
            else:
                iter_start = self.visit(forstmt.iter.args[0])
                iter_len = self.visit(forstmt.iter.args[1])
                s += "for (int %s = %s; %s < %s; %s++) {\n" % (iter_var, iter_start,
                                                               iter_var, iter_len,
                                                               iter_var)
            s += self.visit_block(forstmt.body)
            s += "}\n"
            return s
        else:
            raise "only for var in range(a) loops supported currently"
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号