expr
指定されたSMTLIB2ファイルからオブジェクトを作成したいと思います。Z3_parse_smtlib_string
Cの例で関数を見ることができます。expr
クラスにそのラッパーはありますか?
1 に答える
3
Z3 C++ API は、この機能を expr クラスの一部として明示的に提供していません。ただし、C++ API は C API と一緒に使用できます。つまり、関数Z3_parse_smtlib_string
(または ... _file
) を使用してこれを実現できます。この関数は を返すことに注意してください。これは、C++ の「世界」に戻るためにオブジェクトにZ3_ast
変換する必要があります。expr
簡単な例:
#include <z3++.h>
...
context ctx;
Z3_ast a = Z3_parse_smtlib2_file(ctx, "test.smt2", 0, 0, 0, 0, 0, 0);
expr e(ctx, a);
std::cout << "Result = " << e << std::endl;
Z3_parse_smtlib2_*
関数はエラー チェックを実行しないため、エラーが発生しても例外はスローされません。これは、 への呼び出しによって実現できますcontext::check_error()
。
于 2012-09-25T13:02:06.830 に答える