summaryrefslogtreecommitdiff
path: root/src/theory/theory_rewriter.h
diff options
context:
space:
mode:
authorAndres Noetzli <andres.noetzli@gmail.com>2020-03-11 06:54:50 -0700
committerGitHub <noreply@github.com>2020-03-11 06:54:50 -0700
commit2b355305ef635ddfaad7fe75c29221cb2f744a62 (patch)
tree1667cc362fcf2f770bf7a47b81d887f648c8a857 /src/theory/theory_rewriter.h
parentedcc81b08b4d6c67da81b7ba2fcefbab3286f02c (diff)
Introduce tables in the rewriter (#3742)
This commit adds tables in the rewriter that store which function should be used to rewrite which kind. We have separate tables for `EQUAL` because every theory has its own equality rewriter.
Diffstat (limited to 'src/theory/theory_rewriter.h')
-rw-r--r--src/theory/theory_rewriter.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/theory/theory_rewriter.h b/src/theory/theory_rewriter.h
index e7dc782bb..311ab9020 100644
--- a/src/theory/theory_rewriter.h
+++ b/src/theory/theory_rewriter.h
@@ -24,6 +24,8 @@
namespace CVC4 {
namespace theory {
+class Rewriter;
+
/**
* Theory rewriters signal whether more rewriting is needed (or not)
* by using a member of this enumeration. See RewriteResponse, below.
@@ -64,6 +66,13 @@ class TheoryRewriter
virtual ~TheoryRewriter() = default;
/**
+ * Registers the rewrites of a given theory with the rewriter.
+ *
+ * @param rewriter The rewriter to register the rewrites with.
+ */
+ virtual void registerRewrites(Rewriter* rewriter) {}
+
+ /**
* Performs a pre-rewrite step.
*
* @param node The node to rewrite
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback