summaryrefslogtreecommitdiff
path: root/src/smt/command.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/smt/command.cpp')
-rw-r--r--src/smt/command.cpp128
1 files changed, 53 insertions, 75 deletions
diff --git a/src/smt/command.cpp b/src/smt/command.cpp
index 68c776536..f1490e2f9 100644
--- a/src/smt/command.cpp
+++ b/src/smt/command.cpp
@@ -28,10 +28,10 @@
#include "base/output.h"
#include "expr/expr_iomanip.h"
#include "expr/node.h"
+#include "expr/symbol_manager.h"
#include "expr/type.h"
#include "options/options.h"
#include "options/smt_options.h"
-#include "parser/symbol_manager.h"
#include "printer/printer.h"
#include "proof/unsat_core.h"
#include "smt/dump.h"
@@ -176,9 +176,7 @@ bool Command::interrupted() const
&& dynamic_cast<const CommandInterrupted*>(d_commandStatus) != NULL;
}
-void Command::invoke(api::Solver* solver,
- parser::SymbolManager* sm,
- std::ostream& out)
+void Command::invoke(api::Solver* solver, SymbolManager* sm, std::ostream& out)
{
invoke(solver, sm);
if (!(isMuted() && ok()))
@@ -218,7 +216,7 @@ void Command::printResult(std::ostream& out, uint32_t verbosity) const
EmptyCommand::EmptyCommand(std::string name) : d_name(name) {}
std::string EmptyCommand::getName() const { return d_name; }
-void EmptyCommand::invoke(api::Solver* solver, parser::SymbolManager* sm)
+void EmptyCommand::invoke(api::Solver* solver, SymbolManager* sm)
{
/* empty commands have no implementation */
d_commandStatus = CommandSuccess::instance();
@@ -241,14 +239,14 @@ void EmptyCommand::toStream(std::ostream& out,
EchoCommand::EchoCommand(std::string output) : d_output(output) {}
std::string EchoCommand::getOutput() const { return d_output; }
-void EchoCommand::invoke(api::Solver* solver, parser::SymbolManager* sm)
+void EchoCommand::invoke(api::Solver* solver, SymbolManager* sm)
{
/* we don't have an output stream here, nothing to do */
d_commandStatus = CommandSuccess::instance();
}
void EchoCommand::invoke(api::Solver* solver,
- parser::SymbolManager* sm,
+ SymbolManager* sm,
std::ostream& out)
{
out << d_output << std::endl;
@@ -281,7 +279,7 @@ AssertCommand::AssertCommand(const api::Term& t, bool inUnsatCore)
}
api::Term AssertCommand::getTerm() const { return d_term; }
-void AssertCommand::invoke(api::Solver* solver, parser::SymbolManager* sm)
+void AssertCommand::invoke(api::Solver* solver, SymbolManager* sm)
{
try
{
@@ -317,7 +315,7 @@ void AssertCommand::toStream(std::ostream& out,
/* class PushCommand */
/* -------------------------------------------------------------------------- */
-void PushCommand::invoke(api::Solver* solver, parser::SymbolManager* sm)
+void PushCommand::invoke(api::Solver* solver, SymbolManager* sm)
{
try
{
@@ -349,7 +347,7 @@ void PushCommand::toStream(std::ostream& out,
/* class PopCommand */
/* -------------------------------------------------------------------------- */
-void PopCommand::invoke(api::Solver* solver, parser::SymbolManager* sm)
+void PopCommand::invoke(api::Solver* solver, SymbolManager* sm)
{
try
{
@@ -386,7 +384,7 @@ CheckSatCommand::CheckSatCommand() : d_term() {}
CheckSatCommand::CheckSatCommand(const api::Term& term) : d_term(term) {}
api::Term CheckSatCommand::getTerm() const { return d_term; }
-void CheckSatCommand::invoke(api::Solver* solver, parser::SymbolManager* sm)
+void CheckSatCommand::invoke(api::Solver* solver, SymbolManager* sm)
{
Trace("dtview::command") << "* ~COMMAND: " << getCommandName() << "~"
<< std::endl;
@@ -454,8 +452,7 @@ const std::vector<api::Term>& CheckSatAssumingCommand::getTerms() const
return d_terms;
}
-void CheckSatAssumingCommand::invoke(api::Solver* solver,
- parser::SymbolManager* sm)
+void CheckSatAssumingCommand::invoke(api::Solver* solver, SymbolManager* sm)
{
Trace("dtview::command") << "* ~COMMAND: (check-sat-assuming ( " << d_terms
<< " )~" << std::endl;
@@ -520,7 +517,7 @@ QueryCommand::QueryCommand(const api::Term& t, bool inUnsatCore)
}
api::Term QueryCommand::getTerm() const { return d_term; }
-void QueryCommand::invoke(api::Solver* solver, parser::SymbolManager* sm)
+void QueryCommand::invoke(api::Solver* solver, SymbolManager* sm)
{
try
{
@@ -577,8 +574,7 @@ DeclareSygusVarCommand::DeclareSygusVarCommand(const std::string& id,
api::Term DeclareSygusVarCommand::getVar() const { return d_var; }
api::Sort DeclareSygusVarCommand::getSort() const { return d_sort; }
-void DeclareSygusVarCommand::invoke(api::Solver* solver,
- parser::SymbolManager* sm)
+void DeclareSygusVarCommand::invoke(api::Solver* solver, SymbolManager* sm)
{
d_commandStatus = CommandSuccess::instance();
}
@@ -633,7 +629,7 @@ bool SynthFunCommand::isInv() const { return d_isInv; }
const api::Grammar* SynthFunCommand::getGrammar() const { return d_grammar; }
-void SynthFunCommand::invoke(api::Solver* solver, parser::SymbolManager* sm)
+void SynthFunCommand::invoke(api::Solver* solver, SymbolManager* sm)
{
d_commandStatus = CommandSuccess::instance();
}
@@ -672,8 +668,7 @@ SygusConstraintCommand::SygusConstraintCommand(const api::Term& t) : d_term(t)
{
}
-void SygusConstraintCommand::invoke(api::Solver* solver,
- parser::SymbolManager* sm)
+void SygusConstraintCommand::invoke(api::Solver* solver, SymbolManager* sm)
{
try
{
@@ -724,8 +719,7 @@ SygusInvConstraintCommand::SygusInvConstraintCommand(const api::Term& inv,
{
}
-void SygusInvConstraintCommand::invoke(api::Solver* solver,
- parser::SymbolManager* sm)
+void SygusInvConstraintCommand::invoke(api::Solver* solver, SymbolManager* sm)
{
try
{
@@ -771,7 +765,7 @@ void SygusInvConstraintCommand::toStream(std::ostream& out,
/* class CheckSynthCommand */
/* -------------------------------------------------------------------------- */
-void CheckSynthCommand::invoke(api::Solver* solver, parser::SymbolManager* sm)
+void CheckSynthCommand::invoke(api::Solver* solver, SymbolManager* sm)
{
try
{
@@ -839,7 +833,7 @@ void CheckSynthCommand::toStream(std::ostream& out,
/* class ResetCommand */
/* -------------------------------------------------------------------------- */
-void ResetCommand::invoke(api::Solver* solver, parser::SymbolManager* sm)
+void ResetCommand::invoke(api::Solver* solver, SymbolManager* sm)
{
try
{
@@ -867,8 +861,7 @@ void ResetCommand::toStream(std::ostream& out,
/* class ResetAssertionsCommand */
/* -------------------------------------------------------------------------- */
-void ResetAssertionsCommand::invoke(api::Solver* solver,
- parser::SymbolManager* sm)
+void ResetAssertionsCommand::invoke(api::Solver* solver, SymbolManager* sm)
{
try
{
@@ -903,7 +896,7 @@ void ResetAssertionsCommand::toStream(std::ostream& out,
/* class QuitCommand */
/* -------------------------------------------------------------------------- */
-void QuitCommand::invoke(api::Solver* solver, parser::SymbolManager* sm)
+void QuitCommand::invoke(api::Solver* solver, SymbolManager* sm)
{
Dump("benchmark") << *this;
d_commandStatus = CommandSuccess::instance();
@@ -926,7 +919,7 @@ void QuitCommand::toStream(std::ostream& out,
CommentCommand::CommentCommand(std::string comment) : d_comment(comment) {}
std::string CommentCommand::getComment() const { return d_comment; }
-void CommentCommand::invoke(api::Solver* solver, parser::SymbolManager* sm)
+void CommentCommand::invoke(api::Solver* solver, SymbolManager* sm)
{
Dump("benchmark") << *this;
d_commandStatus = CommandSuccess::instance();
@@ -962,7 +955,7 @@ void CommandSequence::addCommand(Command* cmd)
}
void CommandSequence::clear() { d_commandSequence.clear(); }
-void CommandSequence::invoke(api::Solver* solver, parser::SymbolManager* sm)
+void CommandSequence::invoke(api::Solver* solver, SymbolManager* sm)
{
for (; d_index < d_commandSequence.size(); ++d_index)
{
@@ -981,7 +974,7 @@ void CommandSequence::invoke(api::Solver* solver, parser::SymbolManager* sm)
}
void CommandSequence::invoke(api::Solver* solver,
- parser::SymbolManager* sm,
+ SymbolManager* sm,
std::ostream& out)
{
for (; d_index < d_commandSequence.size(); ++d_index)
@@ -1096,8 +1089,7 @@ void DeclareFunctionCommand::setPrintInModel(bool p)
d_printInModelSetByUser = true;
}
-void DeclareFunctionCommand::invoke(api::Solver* solver,
- parser::SymbolManager* sm)
+void DeclareFunctionCommand::invoke(api::Solver* solver, SymbolManager* sm)
{
d_commandStatus = CommandSuccess::instance();
}
@@ -1138,7 +1130,7 @@ DeclareSortCommand::DeclareSortCommand(const std::string& id,
size_t DeclareSortCommand::getArity() const { return d_arity; }
api::Sort DeclareSortCommand::getSort() const { return d_sort; }
-void DeclareSortCommand::invoke(api::Solver* solver, parser::SymbolManager* sm)
+void DeclareSortCommand::invoke(api::Solver* solver, SymbolManager* sm)
{
d_commandStatus = CommandSuccess::instance();
}
@@ -1184,7 +1176,7 @@ const std::vector<api::Sort>& DefineSortCommand::getParameters() const
}
api::Sort DefineSortCommand::getSort() const { return d_sort; }
-void DefineSortCommand::invoke(api::Solver* solver, parser::SymbolManager* sm)
+void DefineSortCommand::invoke(api::Solver* solver, SymbolManager* sm)
{
d_commandStatus = CommandSuccess::instance();
}
@@ -1245,8 +1237,7 @@ const std::vector<api::Term>& DefineFunctionCommand::getFormals() const
}
api::Term DefineFunctionCommand::getFormula() const { return d_formula; }
-void DefineFunctionCommand::invoke(api::Solver* solver,
- parser::SymbolManager* sm)
+void DefineFunctionCommand::invoke(api::Solver* solver, SymbolManager* sm)
{
try
{
@@ -1301,8 +1292,7 @@ DefineNamedFunctionCommand::DefineNamedFunctionCommand(
{
}
-void DefineNamedFunctionCommand::invoke(api::Solver* solver,
- parser::SymbolManager* sm)
+void DefineNamedFunctionCommand::invoke(api::Solver* solver, SymbolManager* sm)
{
this->DefineFunctionCommand::invoke(solver, sm);
if (!d_func.isNull() && d_func.getSort().isBoolean())
@@ -1374,8 +1364,7 @@ const std::vector<api::Term>& DefineFunctionRecCommand::getFormulas() const
return d_formulas;
}
-void DefineFunctionRecCommand::invoke(api::Solver* solver,
- parser::SymbolManager* sm)
+void DefineFunctionRecCommand::invoke(api::Solver* solver, SymbolManager* sm)
{
try
{
@@ -1427,7 +1416,7 @@ DeclareHeapCommand::DeclareHeapCommand(api::Sort locSort, api::Sort dataSort)
api::Sort DeclareHeapCommand::getLocationSort() const { return d_locSort; }
api::Sort DeclareHeapCommand::getDataSort() const { return d_dataSort; }
-void DeclareHeapCommand::invoke(api::Solver* solver, parser::SymbolManager* sm)
+void DeclareHeapCommand::invoke(api::Solver* solver, SymbolManager* sm)
{
solver->declareSeparationHeap(d_locSort, d_dataSort);
}
@@ -1485,8 +1474,7 @@ SetUserAttributeCommand::SetUserAttributeCommand(const std::string& attr,
{
}
-void SetUserAttributeCommand::invoke(api::Solver* solver,
- parser::SymbolManager* sm)
+void SetUserAttributeCommand::invoke(api::Solver* solver, SymbolManager* sm)
{
try
{
@@ -1531,7 +1519,7 @@ void SetUserAttributeCommand::toStream(std::ostream& out,
SimplifyCommand::SimplifyCommand(api::Term term) : d_term(term) {}
api::Term SimplifyCommand::getTerm() const { return d_term; }
-void SimplifyCommand::invoke(api::Solver* solver, parser::SymbolManager* sm)
+void SimplifyCommand::invoke(api::Solver* solver, SymbolManager* sm)
{
try
{
@@ -1598,7 +1586,7 @@ const std::vector<api::Term>& GetValueCommand::getTerms() const
{
return d_terms;
}
-void GetValueCommand::invoke(api::Solver* solver, parser::SymbolManager* sm)
+void GetValueCommand::invoke(api::Solver* solver, SymbolManager* sm)
{
try
{
@@ -1664,8 +1652,7 @@ void GetValueCommand::toStream(std::ostream& out,
/* -------------------------------------------------------------------------- */
GetAssignmentCommand::GetAssignmentCommand() {}
-void GetAssignmentCommand::invoke(api::Solver* solver,
- parser::SymbolManager* sm)
+void GetAssignmentCommand::invoke(api::Solver* solver, SymbolManager* sm)
{
try
{
@@ -1735,7 +1722,7 @@ void GetAssignmentCommand::toStream(std::ostream& out,
/* -------------------------------------------------------------------------- */
GetModelCommand::GetModelCommand() : d_result(nullptr) {}
-void GetModelCommand::invoke(api::Solver* solver, parser::SymbolManager* sm)
+void GetModelCommand::invoke(api::Solver* solver, SymbolManager* sm)
{
try
{
@@ -1796,7 +1783,7 @@ void GetModelCommand::toStream(std::ostream& out,
/* -------------------------------------------------------------------------- */
BlockModelCommand::BlockModelCommand() {}
-void BlockModelCommand::invoke(api::Solver* solver, parser::SymbolManager* sm)
+void BlockModelCommand::invoke(api::Solver* solver, SymbolManager* sm)
{
try
{
@@ -1850,8 +1837,7 @@ const std::vector<api::Term>& BlockModelValuesCommand::getTerms() const
{
return d_terms;
}
-void BlockModelValuesCommand::invoke(api::Solver* solver,
- parser::SymbolManager* sm)
+void BlockModelValuesCommand::invoke(api::Solver* solver, SymbolManager* sm)
{
try
{
@@ -1897,7 +1883,7 @@ void BlockModelValuesCommand::toStream(std::ostream& out,
/* -------------------------------------------------------------------------- */
GetProofCommand::GetProofCommand() {}
-void GetProofCommand::invoke(api::Solver* solver, parser::SymbolManager* sm)
+void GetProofCommand::invoke(api::Solver* solver, SymbolManager* sm)
{
Unimplemented() << "Unimplemented get-proof\n";
}
@@ -1923,8 +1909,7 @@ void GetProofCommand::toStream(std::ostream& out,
/* -------------------------------------------------------------------------- */
GetInstantiationsCommand::GetInstantiationsCommand() : d_solver(nullptr) {}
-void GetInstantiationsCommand::invoke(api::Solver* solver,
- parser::SymbolManager* sm)
+void GetInstantiationsCommand::invoke(api::Solver* solver, SymbolManager* sm)
{
try
{
@@ -1976,8 +1961,7 @@ void GetInstantiationsCommand::toStream(std::ostream& out,
/* -------------------------------------------------------------------------- */
GetSynthSolutionCommand::GetSynthSolutionCommand() : d_solver(nullptr) {}
-void GetSynthSolutionCommand::invoke(api::Solver* solver,
- parser::SymbolManager* sm)
+void GetSynthSolutionCommand::invoke(api::Solver* solver, SymbolManager* sm)
{
try
{
@@ -2047,7 +2031,7 @@ const api::Grammar* GetInterpolCommand::getGrammar() const
api::Term GetInterpolCommand::getResult() const { return d_result; }
-void GetInterpolCommand::invoke(api::Solver* solver, parser::SymbolManager* sm)
+void GetInterpolCommand::invoke(api::Solver* solver, SymbolManager* sm)
{
try
{
@@ -2138,7 +2122,7 @@ const api::Grammar* GetAbductCommand::getGrammar() const
std::string GetAbductCommand::getAbductName() const { return d_name; }
api::Term GetAbductCommand::getResult() const { return d_result; }
-void GetAbductCommand::invoke(api::Solver* solver, parser::SymbolManager* sm)
+void GetAbductCommand::invoke(api::Solver* solver, SymbolManager* sm)
{
try
{
@@ -2215,7 +2199,7 @@ GetQuantifierEliminationCommand::GetQuantifierEliminationCommand(
api::Term GetQuantifierEliminationCommand::getTerm() const { return d_term; }
bool GetQuantifierEliminationCommand::getDoFull() const { return d_doFull; }
void GetQuantifierEliminationCommand::invoke(api::Solver* solver,
- parser::SymbolManager* sm)
+ SymbolManager* sm)
{
try
{
@@ -2280,8 +2264,7 @@ void GetQuantifierEliminationCommand::toStream(std::ostream& out,
GetUnsatAssumptionsCommand::GetUnsatAssumptionsCommand() {}
-void GetUnsatAssumptionsCommand::invoke(api::Solver* solver,
- parser::SymbolManager* sm)
+void GetUnsatAssumptionsCommand::invoke(api::Solver* solver, SymbolManager* sm)
{
try
{
@@ -2341,7 +2324,7 @@ void GetUnsatAssumptionsCommand::toStream(std::ostream& out,
/* -------------------------------------------------------------------------- */
GetUnsatCoreCommand::GetUnsatCoreCommand() {}
-void GetUnsatCoreCommand::invoke(api::Solver* solver, parser::SymbolManager* sm)
+void GetUnsatCoreCommand::invoke(api::Solver* solver, SymbolManager* sm)
{
try
{
@@ -2406,8 +2389,7 @@ void GetUnsatCoreCommand::toStream(std::ostream& out,
/* -------------------------------------------------------------------------- */
GetAssertionsCommand::GetAssertionsCommand() {}
-void GetAssertionsCommand::invoke(api::Solver* solver,
- parser::SymbolManager* sm)
+void GetAssertionsCommand::invoke(api::Solver* solver, SymbolManager* sm)
{
try
{
@@ -2473,8 +2455,7 @@ BenchmarkStatus SetBenchmarkStatusCommand::getStatus() const
return d_status;
}
-void SetBenchmarkStatusCommand::invoke(api::Solver* solver,
- parser::SymbolManager* sm)
+void SetBenchmarkStatusCommand::invoke(api::Solver* solver, SymbolManager* sm)
{
try
{
@@ -2525,8 +2506,7 @@ SetBenchmarkLogicCommand::SetBenchmarkLogicCommand(std::string logic)
}
std::string SetBenchmarkLogicCommand::getLogic() const { return d_logic; }
-void SetBenchmarkLogicCommand::invoke(api::Solver* solver,
- parser::SymbolManager* sm)
+void SetBenchmarkLogicCommand::invoke(api::Solver* solver, SymbolManager* sm)
{
try
{
@@ -2568,7 +2548,7 @@ SetInfoCommand::SetInfoCommand(std::string flag, const SExpr& sexpr)
std::string SetInfoCommand::getFlag() const { return d_flag; }
SExpr SetInfoCommand::getSExpr() const { return d_sexpr; }
-void SetInfoCommand::invoke(api::Solver* solver, parser::SymbolManager* sm)
+void SetInfoCommand::invoke(api::Solver* solver, SymbolManager* sm)
{
try
{
@@ -2607,7 +2587,7 @@ void SetInfoCommand::toStream(std::ostream& out,
GetInfoCommand::GetInfoCommand(std::string flag) : d_flag(flag) {}
std::string GetInfoCommand::getFlag() const { return d_flag; }
-void GetInfoCommand::invoke(api::Solver* solver, parser::SymbolManager* sm)
+void GetInfoCommand::invoke(api::Solver* solver, SymbolManager* sm)
{
try
{
@@ -2678,7 +2658,7 @@ SetOptionCommand::SetOptionCommand(std::string flag, const SExpr& sexpr)
std::string SetOptionCommand::getFlag() const { return d_flag; }
SExpr SetOptionCommand::getSExpr() const { return d_sexpr; }
-void SetOptionCommand::invoke(api::Solver* solver, parser::SymbolManager* sm)
+void SetOptionCommand::invoke(api::Solver* solver, SymbolManager* sm)
{
try
{
@@ -2716,7 +2696,7 @@ void SetOptionCommand::toStream(std::ostream& out,
GetOptionCommand::GetOptionCommand(std::string flag) : d_flag(flag) {}
std::string GetOptionCommand::getFlag() const { return d_flag; }
-void GetOptionCommand::invoke(api::Solver* solver, parser::SymbolManager* sm)
+void GetOptionCommand::invoke(api::Solver* solver, SymbolManager* sm)
{
try
{
@@ -2773,8 +2753,7 @@ SetExpressionNameCommand::SetExpressionNameCommand(api::Term term,
{
}
-void SetExpressionNameCommand::invoke(api::Solver* solver,
- parser::SymbolManager* sm)
+void SetExpressionNameCommand::invoke(api::Solver* solver, SymbolManager* sm)
{
solver->getSmtEngine()->setExpressionName(d_term.getExpr(), d_name);
d_commandStatus = CommandSuccess::instance();
@@ -2822,8 +2801,7 @@ const std::vector<api::Sort>& DatatypeDeclarationCommand::getDatatypes() const
return d_datatypes;
}
-void DatatypeDeclarationCommand::invoke(api::Solver* solver,
- parser::SymbolManager* sm)
+void DatatypeDeclarationCommand::invoke(api::Solver* solver, SymbolManager* sm)
{
d_commandStatus = CommandSuccess::instance();
}
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback