summaryrefslogtreecommitdiff
path: root/src/printer/printer.h
diff options
context:
space:
mode:
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>2017-11-15 16:48:26 -0600
committerGitHub <noreply@github.com>2017-11-15 16:48:26 -0600
commit9bff14c12c34fea0e6ba0649a3e8f7e8f48b5646 (patch)
treeea7c7ccd91be5ea728e798d8ec8df4b2fec78820 /src/printer/printer.h
parent39ec2fb797623bd1556f81b963ace1997c74e920 (diff)
Sygus print callbacks (#1348)
* Initial infrastructure for sygus printing. * Minor * Minor improvements * Format * Minor * Empty constructor printer. * Format * Minor * Format * Address.
Diffstat (limited to 'src/printer/printer.h')
-rw-r--r--src/printer/printer.h17
1 files changed, 15 insertions, 2 deletions
diff --git a/src/printer/printer.h b/src/printer/printer.h
index ea4865fce..9baeeb8b6 100644
--- a/src/printer/printer.h
+++ b/src/printer/printer.h
@@ -69,14 +69,27 @@ public:
/** Write a CommandStatus out to a stream with this Printer. */
virtual void toStream(std::ostream& out, const CommandStatus* s) const throw() = 0;
-
-
/** Write a Model out to a stream with this Printer. */
virtual void toStream(std::ostream& out, const Model& m) const throw();
/** Write an UnsatCore out to a stream with this Printer. */
virtual void toStream(std::ostream& out, const UnsatCore& core) const throw();
+ /**
+ * Write the term that sygus datatype term n
+ * encodes to a stream with this Printer.
+ * For example, consider the datatype term
+ * (C_plus (C_minus C_x C_0) C_y)
+ * where C_plus, C_minus, C_x, C_0, C_y are constructors
+ * whose sygus operators are PLUS, MINUS, x, 0, y.
+ * In this case, this method is equivalent to printing
+ * the integer term:
+ * (PLUS (MINUS x 0) y)
+ * This method may make calls to sygus printing callback
+ * methods stored in sygus datatype constructors.
+ */
+ virtual void toStreamSygus(std::ostream& out, TNode n) const throw();
+
};/* class Printer */
}/* CVC4 namespace */
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback