显示从SMT-LIB2文件解析的声明

时间:2014-05-12 23:37:15

标签: java z3

我正在使用Z3和Java API。在我的SMT-LIB2文件中,有几个变量:

(declare-fun x0 () Int)
(declare-fun x1 () Bool)
; alot more  

我想获取所有这些变量,并将它们存储在Expr数组中。从z3分发的示例中,我发现API SMTLIBDecls获取了从SMT-LIB1文件解析的声明,但SMT-LIB2没有类似的API。我怎样才能得到声明?

感谢。

1 个答案:

答案 0 :(得分:0)

目前没有用于此目的的函数,但通过遍历表达式很容易获得声明。之前已经要求使用C / C ++,但答案也适用于Java:Z3 4.3.1 C-API parse_smtlib2_string: Where to get declarations from?

此外,这些帖子也可能是有意义的: Traversing Z3_ast tree in C/C++How to find out if a z3_ast corresponds to a clause?