diff options
author | Abdalrhman Mohamed <32971963+abdoo8080@users.noreply.github.com> | 2020-08-12 17:51:48 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-08-12 17:51:48 -0500 |
commit | 079a04b0b16f7caa31a15b97ddc9794ad0d8b862 (patch) | |
tree | a8c56b4ca8ed13fdfddbca7692504624069cf5e2 /src/smt/command.cpp | |
parent | 103b5ea715e532e021e91f9b03ea7d7876a3ccbf (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.cpp | 16 |
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 */ /* -------------------------------------------------------------------------- */ |