summaryrefslogtreecommitdiff
path: root/src/smt/command.cpp
diff options
context:
space:
mode:
authorAbdalrhman Mohamed <32971963+abdoo8080@users.noreply.github.com>2020-08-12 17:51:48 -0500
committerGitHub <noreply@github.com>2020-08-12 17:51:48 -0500
commit079a04b0b16f7caa31a15b97ddc9794ad0d8b862 (patch)
treea8c56b4ca8ed13fdfddbca7692504624069cf5e2 /src/smt/command.cpp
parent103b5ea715e532e021e91f9b03ea7d7876a3ccbf (diff)
Refactor functions that print commands (Part 1) (#4869)
This PR is a step towards migrating commands to the Term/Sort level. The functions for printing synth-fun command and its grammar were modified to remove their dependency on command objects and use nodes instead of exprs and types. Similar changes to other functions that print commands will follow.
Diffstat (limited to 'src/smt/command.cpp')
-rw-r--r--src/smt/command.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/smt/command.cpp b/src/smt/command.cpp
index 4d8f6d910..f5c997318 100644
--- a/src/smt/command.cpp
+++ b/src/smt/command.cpp
@@ -719,6 +719,22 @@ std::string SynthFunCommand::getCommandName() const
return d_isInv ? "synth-inv" : "synth-fun";
}
+void SynthFunCommand::toStream(std::ostream& out,
+ int toDepth,
+ bool types,
+ size_t dag,
+ OutputLanguage language) const
+{
+ std::vector<Node> nodeVars = termVectorToNodes(d_vars);
+ Printer::getPrinter(language)->toStreamCmdSynthFun(
+ out,
+ d_symbol,
+ nodeVars,
+ TypeNode::fromType(d_sort.getType()),
+ d_isInv,
+ TypeNode::fromType(d_grammar->resolve().getType()));
+}
+
/* -------------------------------------------------------------------------- */
/* class SygusConstraintCommand */
/* -------------------------------------------------------------------------- */
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback