如何将Z3_ast导出为二进制以及如何搜索函数名称?
How to export a Z3_ast to binary and how to search one for func names?
在我正在处理的项目中,我需要使用 Z3 C++ API 做两件事:
- 将Z3_ast导出到二进制缓冲区
- 搜索Z3_ast是否包含符号声明。
我目前是如何做到这一点的:我正在将Z3_ast转换为字符串,然后在我需要的地方再次加载它。搜索是通过字符串搜索完成的。 我认为有一种更有效的方法来处理这个问题。python API解决方案也会很有帮助,因为我可以跟踪实现它的CPP代码。
执行此操作的正确方法是沿着 AST 向下走并挑选节点。 Z3 API 提供了所有必要的识别器。请注意,将 AST 序列化为字符串和执行字符串搜索不仅速度慢,而且如果它们更改图面语法的表示方式,也很容易出错。
前段时间有一个类似的问题,你可能想看看那里的答案,至少得到一个起点:如何使用 z3 中的 arg(( 函数?
相关文章:
- 有根的二进制搜索树.保留与其父级的链接
- 在C++中搜索嵌套多映射值
- cpp二进制搜索问题,计算给定数组中输入元素的出现次数
- 二进制搜索树叶数问题
- 为什么二进制搜索在我的测试中不起作用
- 正在尝试重载二进制搜索树分配运算符
- c++binary_search函数排序数组(流行名称搜索)出现问题
- 向量上的线性搜索
- 如何在动态数组上使用搜索函数
- 对于MacOS上的G++,如何添加默认的include目录/usr/local/include和默认的库搜索路径/usr
- cmake:添加要搜索头文件的目录
- 使用C++创建特殊的二叉搜索树
- 如何使用二叉搜索计算搜索单词所需的时间
- 二叉搜索树:搜索功能问题
- 在数组中搜索以及搜索和遍历树
- 二叉搜索树 - 搜索函数返回对象 (C++)
- 平衡二进制搜索树搜索功能
- 二叉搜索树(搜索函数返回NULL)
- 二进制搜索树(搜索功能)
- 如何为自定义文件格式构建筛选器处理程序,以便可以通过windows搜索来搜索其内容