From 91d85704313de6be9fd382833f5cedd39e24a6fa Mon Sep 17 00:00:00 2001 From: Aina Niemetz Date: Wed, 8 Aug 2018 19:21:47 -0700 Subject: Plug solver API object into parser. (#2240) --- examples/nra-translate/normalize.cpp | 15 +++++++-------- examples/nra-translate/smt2info.cpp | 12 ++++++++---- examples/nra-translate/smt2todreal.cpp | 13 ++++++------- examples/nra-translate/smt2toisat.cpp | 13 ++++++------- examples/nra-translate/smt2tomathematica.cpp | 6 ++++-- examples/nra-translate/smt2toqepcad.cpp | 6 ++++-- examples/nra-translate/smt2toredlog.cpp | 13 ++++++------- 7 files changed, 41 insertions(+), 37 deletions(-) (limited to 'examples/nra-translate') diff --git a/examples/nra-translate/normalize.cpp b/examples/nra-translate/normalize.cpp index a9c18c3ae..a6c146622 100644 --- a/examples/nra-translate/normalize.cpp +++ b/examples/nra-translate/normalize.cpp @@ -2,7 +2,7 @@ /*! \file normalize.cpp ** \verbatim ** Top contributors (to current version): - ** Dejan Jovanovic, Tim King, Morgan Deters + ** Dejan Jovanovic, Tim King, Aina Niemetz ** This file is part of the CVC4 project. ** Copyright (c) 2009-2018 by the authors listed in the file AUTHORS ** in the top-level source directory) and their institutional affiliations. @@ -22,6 +22,7 @@ #include #include +#include "api/cvc4cpp.h" #include "expr/expr.h" #include "expr/expr_iomanip.h" #include "options/language.h" @@ -29,8 +30,8 @@ #include "options/set_language.h" #include "parser/parser.h" #include "parser/parser_builder.h" -#include "smt/smt_engine.h" #include "smt/command.h" +#include "smt/smt_engine.h" using namespace std; using namespace CVC4; @@ -46,18 +47,16 @@ int main(int argc, char* argv[]) // Create the expression manager Options options; options.setInputLanguage(language::input::LANG_SMTLIB_V2); - ExprManager exprManager(options); + std::unique_ptr solver = + std::unique_ptr(new api::Solver(&options)); cout << language::SetLanguage(language::output::LANG_SMTLIB_V2) << expr::ExprSetDepth(-1); // Create the parser - ParserBuilder parserBuilder(&exprManager, input, options); + ParserBuilder parserBuilder(solver.get(), input, options); Parser* parser = parserBuilder.build(); - // Smt manager for simplifications - SmtEngine engine(&exprManager); - // Variables and assertions vector assertions; @@ -66,7 +65,7 @@ int main(int argc, char* argv[]) AssertCommand* assert = dynamic_cast(cmd); if (assert) { - Expr normalized = engine.simplify(assert->getExpr()); + Expr normalized = solver->getSmtEngine()->simplify(assert->getExpr()); cout << "(assert " << normalized << ")" << endl; delete cmd; continue; diff --git a/examples/nra-translate/smt2info.cpp b/examples/nra-translate/smt2info.cpp index 1ece6a86d..55ddb0997 100644 --- a/examples/nra-translate/smt2info.cpp +++ b/examples/nra-translate/smt2info.cpp @@ -2,7 +2,7 @@ /*! \file smt2info.cpp ** \verbatim ** Top contributors (to current version): - ** Dejan Jovanovic, Tim King, Morgan Deters + ** Dejan Jovanovic, Aina Niemetz, Tim King ** This file is part of the CVC4 project. ** Copyright (c) 2009-2018 by the authors listed in the file AUTHORS ** in the top-level source directory) and their institutional affiliations. @@ -21,6 +21,7 @@ #include #include +#include "api/cvc4cpp.h" #include "expr/expr.h" #include "options/options.h" #include "parser/parser.h" @@ -78,10 +79,11 @@ int main(int argc, char* argv[]) // Create the expression manager Options options; options.setInputLanguage(language::input::LANG_SMTLIB_V2); - ExprManager exprManager(options); + std::unique_ptr solver = + std::unique_ptr(new api::Solver(&options)); // Create the parser - ParserBuilder parserBuilder(&exprManager, input, options); + ParserBuilder parserBuilder(solver.get(), input, options); Parser* parser = parserBuilder.build(); // Variables and assertions @@ -122,7 +124,9 @@ int main(int argc, char* argv[]) unsigned total_degree = 0; for (unsigned i = 0; i < assertions.size(); ++ i) { - total_degree = std::max(total_degree, compute_degree(exprManager, assertions[i])); + total_degree = + std::max(total_degree, + compute_degree(*solver->getExprManager(), assertions[i])); } cout << "degree: " << total_degree << endl; diff --git a/examples/nra-translate/smt2todreal.cpp b/examples/nra-translate/smt2todreal.cpp index 94cb23a79..04a33624c 100644 --- a/examples/nra-translate/smt2todreal.cpp +++ b/examples/nra-translate/smt2todreal.cpp @@ -2,7 +2,7 @@ /*! \file smt2todreal.cpp ** \verbatim ** Top contributors (to current version): - ** Dejan Jovanovic, Tim King, Morgan Deters + ** Dejan Jovanovic, Tim King, Aina Niemetz ** This file is part of the CVC4 project. ** Copyright (c) 2009-2018 by the authors listed in the file AUTHORS ** in the top-level source directory) and their institutional affiliations. @@ -22,13 +22,14 @@ #include #include +#include "api/cvc4cpp.h" #include "expr/expr.h" #include "expr/expr_iomanip.h" #include "options/options.h" #include "parser/parser.h" #include "parser/parser_builder.h" -#include "smt/smt_engine.h" #include "smt/command.h" +#include "smt/smt_engine.h" using namespace std; using namespace CVC4; @@ -45,17 +46,15 @@ int main(int argc, char* argv[]) Options options; options.setInputLanguage(language::input::LANG_SMTLIB_V2); options.setOutputLanguage(language::output::LANG_SMTLIB_V2); - ExprManager exprManager(options); + std::unique_ptr solver = + std::unique_ptr(new api::Solver(&options)); cout << expr::ExprDag(0) << expr::ExprSetDepth(-1); // Create the parser - ParserBuilder parserBuilder(&exprManager, input, options); + ParserBuilder parserBuilder(solver.get(), input, options); Parser* parser = parserBuilder.build(); - // Smt manager for simplifications - SmtEngine engine(&exprManager); - // Variables and assertions std::map variables; vector info_tags; diff --git a/examples/nra-translate/smt2toisat.cpp b/examples/nra-translate/smt2toisat.cpp index 767da1ffd..c4649dcae 100644 --- a/examples/nra-translate/smt2toisat.cpp +++ b/examples/nra-translate/smt2toisat.cpp @@ -2,7 +2,7 @@ /*! \file smt2toisat.cpp ** \verbatim ** Top contributors (to current version): - ** Dejan Jovanovic, Tim King, Andrew Reynolds + ** Dejan Jovanovic, Tim King, Aina Niemetz ** This file is part of the CVC4 project. ** Copyright (c) 2009-2018 by the authors listed in the file AUTHORS ** in the top-level source directory) and their institutional affiliations. @@ -22,6 +22,7 @@ #include #include +#include "api/cvc4cpp.h" #include "expr/expr.h" #include "options/options.h" #include "parser/parser.h" @@ -50,15 +51,13 @@ int main(int argc, char* argv[]) // Create the expression manager Options options; options.setInputLanguage(language::input::LANG_SMTLIB_V2); - ExprManager exprManager(options); + std::unique_ptr solver = + std::unique_ptr(new api::Solver(&options)); // Create the parser - ParserBuilder parserBuilder(&exprManager, input, options); + ParserBuilder parserBuilder(solver.get(), input, options); Parser* parser = parserBuilder.build(); - // Smt manager for simplifications - SmtEngine engine(&exprManager); - // Variables and assertions std::map variables; vector info_tags; @@ -88,7 +87,7 @@ int main(int argc, char* argv[]) AssertCommand* assert = dynamic_cast(cmd); if (assert) { - assertions.push_back(engine.simplify(assert->getExpr())); + assertions.push_back(solver->getSmtEngine()->simplify(assert->getExpr())); delete cmd; continue; } diff --git a/examples/nra-translate/smt2tomathematica.cpp b/examples/nra-translate/smt2tomathematica.cpp index b60c4824b..fd344caa9 100644 --- a/examples/nra-translate/smt2tomathematica.cpp +++ b/examples/nra-translate/smt2tomathematica.cpp @@ -22,6 +22,7 @@ #include #include +#include "api/cvc4cpp.h" #include "expr/expr.h" #include "options/options.h" #include "parser/parser.h" @@ -48,10 +49,11 @@ int main(int argc, char* argv[]) // Create the expression manager Options options; options.setInputLanguage(language::input::LANG_SMTLIB_V2); - ExprManager exprManager(options); + std::unique_ptr solver = + std::unique_ptr(new api::Solver(&options)); // Create the parser - ParserBuilder parserBuilder(&exprManager, input, options); + ParserBuilder parserBuilder(solver.get(), input, options); Parser* parser = parserBuilder.build(); // Variables and assertions diff --git a/examples/nra-translate/smt2toqepcad.cpp b/examples/nra-translate/smt2toqepcad.cpp index aea436383..acfd6bf97 100644 --- a/examples/nra-translate/smt2toqepcad.cpp +++ b/examples/nra-translate/smt2toqepcad.cpp @@ -22,6 +22,7 @@ #include #include +#include "api/cvc4cpp.h" #include "expr/expr.h" #include "options/options.h" #include "parser/parser.h" @@ -49,10 +50,11 @@ int main(int argc, char* argv[]) // Create the expression manager Options options; options.setInputLanguage(language::input::LANG_SMTLIB_V2); - ExprManager exprManager(options); + std::unique_ptr solver = + std::unique_ptr(new api::Solver(&options)); // Create the parser - ParserBuilder parserBuilder(&exprManager, input, options); + ParserBuilder parserBuilder(solver.get(), input, options); Parser* parser = parserBuilder.build(); // Variables and assertions diff --git a/examples/nra-translate/smt2toredlog.cpp b/examples/nra-translate/smt2toredlog.cpp index b7bbc5a75..feb5a583a 100644 --- a/examples/nra-translate/smt2toredlog.cpp +++ b/examples/nra-translate/smt2toredlog.cpp @@ -2,7 +2,7 @@ /*! \file smt2toredlog.cpp ** \verbatim ** Top contributors (to current version): - ** Dejan Jovanovic, Tim King, Andrew Reynolds + ** Dejan Jovanovic, Tim King, Aina Niemetz ** This file is part of the CVC4 project. ** Copyright (c) 2009-2018 by the authors listed in the file AUTHORS ** in the top-level source directory) and their institutional affiliations. @@ -22,6 +22,7 @@ #include #include +#include "api/cvc4cpp.h" #include "expr/expr.h" #include "options/options.h" #include "parser/parser.h" @@ -53,15 +54,13 @@ int main(int argc, char* argv[]) // Create the expression manager Options options; options.setInputLanguage(language::input::LANG_SMTLIB_V2); - ExprManager exprManager(options); + std::unique_ptr solver = + std::unique_ptr(new api::Solver(&options)); // Create the parser - ParserBuilder parserBuilder(&exprManager, input, options); + ParserBuilder parserBuilder(solver.get(), input, options); Parser* parser = parserBuilder.build(); - // Smt manager for simplifications - SmtEngine engine(&exprManager); - // Variables and assertions std::map variables; vector info_tags; @@ -91,7 +90,7 @@ int main(int argc, char* argv[]) AssertCommand* assert = dynamic_cast(cmd); if (assert) { - assertions.push_back(engine.simplify(assert->getExpr())); + assertions.push_back(solver->getSmtEngine()->simplify(assert->getExpr())); delete cmd; continue; } -- cgit v1.2.3