summaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorAina Niemetz <aina.niemetz@gmail.com>2018-08-08 19:21:47 -0700
committerGitHub <noreply@github.com>2018-08-08 19:21:47 -0700
commit91d85704313de6be9fd382833f5cedd39e24a6fa (patch)
tree057adfdad9d586428482d9bd58e9c8124bddc47b /examples
parentb4d4006d08a32b107257b0edaba95679d0b0c65b (diff)
Plug solver API object into parser. (#2240)
Diffstat (limited to 'examples')
-rw-r--r--examples/api/java/Makefile.am2
-rw-r--r--examples/nra-translate/normalize.cpp15
-rw-r--r--examples/nra-translate/smt2info.cpp12
-rw-r--r--examples/nra-translate/smt2todreal.cpp13
-rw-r--r--examples/nra-translate/smt2toisat.cpp13
-rw-r--r--examples/nra-translate/smt2tomathematica.cpp6
-rw-r--r--examples/nra-translate/smt2toqepcad.cpp6
-rw-r--r--examples/nra-translate/smt2toredlog.cpp13
-rw-r--r--examples/sets-translate/sets_translate.cpp10
-rw-r--r--examples/translator.cpp7
10 files changed, 53 insertions, 44 deletions
diff --git a/examples/api/java/Makefile.am b/examples/api/java/Makefile.am
index d12f2877e..6ce35b300 100644
--- a/examples/api/java/Makefile.am
+++ b/examples/api/java/Makefile.am
@@ -2,7 +2,7 @@ noinst_DATA =
if CVC4_LANGUAGE_BINDING_JAVA
noinst_DATA += \
- CVC4Streams.class \
+ #CVC4Streams.class \ ## disabled until bindings for the new API are in place (issue #2284)
BitVectors.class \
BitVectorsAndArrays.class \
Combination.class \
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 <typeinfo>
#include <vector>
+#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<api::Solver> solver =
+ std::unique_ptr<api::Solver>(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<Expr> assertions;
@@ -66,7 +65,7 @@ int main(int argc, char* argv[])
AssertCommand* assert = dynamic_cast<AssertCommand*>(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 <typeinfo>
#include <vector>
+#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<api::Solver> solver =
+ std::unique_ptr<api::Solver>(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 <typeinfo>
#include <vector>
+#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<api::Solver> solver =
+ std::unique_ptr<api::Solver>(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<Expr, unsigned> variables;
vector<string> 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 <typeinfo>
#include <vector>
+#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<api::Solver> solver =
+ std::unique_ptr<api::Solver>(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<Expr, unsigned> variables;
vector<string> info_tags;
@@ -88,7 +87,7 @@ int main(int argc, char* argv[])
AssertCommand* assert = dynamic_cast<AssertCommand*>(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 <typeinfo>
#include <vector>
+#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<api::Solver> solver =
+ std::unique_ptr<api::Solver>(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 <typeinfo>
#include <vector>
+#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<api::Solver> solver =
+ std::unique_ptr<api::Solver>(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 <typeinfo>
#include <vector>
+#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<api::Solver> solver =
+ std::unique_ptr<api::Solver>(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<Expr, unsigned> variables;
vector<string> info_tags;
@@ -91,7 +90,7 @@ int main(int argc, char* argv[])
AssertCommand* assert = dynamic_cast<AssertCommand*>(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/sets-translate/sets_translate.cpp b/examples/sets-translate/sets_translate.cpp
index f5398f4df..452a874a8 100644
--- a/examples/sets-translate/sets_translate.cpp
+++ b/examples/sets-translate/sets_translate.cpp
@@ -2,7 +2,7 @@
/*! \file sets_translate.cpp
** \verbatim
** Top contributors (to current version):
- ** Kshitij Bansal, Tim King, Mathias Preiner
+ ** Kshitij Bansal, 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.
@@ -23,6 +23,7 @@
#include <unordered_map>
#include <vector>
+#include "api/cvc4cpp.h"
#include "expr/expr.h"
#include "options/language.h"
#include "options/options.h"
@@ -268,12 +269,13 @@ int main(int argc, char* argv[])
options.setInputLanguage(language::input::LANG_SMTLIB_V2);
cout << language::SetLanguage(language::output::LANG_SMTLIB_V2);
// cout << Expr::dag(0);
- ExprManager exprManager(options);
+ std::unique_ptr<api::Solver> solver =
+ std::unique_ptr<api::Solver>(new api::Solver(&options));
- Mapper m(&exprManager);
+ Mapper m(solver->getExprManager());
// Create the parser
- ParserBuilder parserBuilder(&exprManager, input, options);
+ ParserBuilder parserBuilder(solver.get(), input, options);
if(input == "<stdin>") parserBuilder.withStreamInput(cin);
Parser* parser = parserBuilder.build();
diff --git a/examples/translator.cpp b/examples/translator.cpp
index 1de05f65a..5be837e63 100644
--- a/examples/translator.cpp
+++ b/examples/translator.cpp
@@ -2,7 +2,7 @@
/*! \file translator.cpp
** \verbatim
** Top contributors (to current version):
- ** Morgan Deters, Tim King
+ ** Morgan Deters, 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 <getopt.h>
#include <iostream>
+#include "api/cvc4cpp.h"
#include "expr/expr.h"
#include "expr/expr_iomanip.h"
#include "options/language.h"
@@ -105,7 +106,9 @@ static void readFile(const char* filename, InputLanguage fromLang, OutputLanguag
Options opts;
opts.setInputLanguage(fromLang);
ExprManager exprMgr(opts);
- ParserBuilder parserBuilder(&exprMgr, filename, opts);
+ std::unique_ptr<api::Solver> solver =
+ std::unique_ptr<api::Solver>(new api::Solver(&opts));
+ ParserBuilder parserBuilder(solver.get(), filename, opts);
if(!strcmp(filename, "-")) {
parserBuilder.withFilename("<stdin>");
parserBuilder.withLineBufferedStreamInput(cin);
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback