Merge from my post-smtcomp branch. Includes:
[cvc5.git] / src / theory / rewriter_tables_template.h
1 /********************* */
2 /*! \file rewriter_tables_template.h
3 ** \verbatim
4 ** Original author: dejan
5 ** Major contributors: mdeters
6 ** Minor contributors (to current version): none
7 ** This file is part of the CVC4 prototype.
8 ** Copyright (c) 2009, 2010, 2011 The Analysis of Computer Systems Group (ACSys)
9 ** Courant Institute of Mathematical Sciences
10 ** New York University
11 ** See the file COPYING in the top-level source directory for licensing
12 ** information.\endverbatim
13 **
14 ** \brief Rewriter tables for various theories
15 **
16 ** This file contains template code for the rewriter tables that are generated
17 ** from the Theory kinds files.
18 **/
19
20 #pragma once
21
22 #include "theory/rewriter.h"
23 #include "theory/rewriter_attributes.h"
24
25 ${rewriter_includes}
26
27 namespace CVC4 {
28 namespace theory {
29
30 RewriteResponse Rewriter::callPreRewrite(theory::TheoryId theoryId, TNode node) {
31 switch(theoryId) {
32 ${pre_rewrite_calls}
33 default:
34 Unreachable();
35 }
36 }
37
38 RewriteResponse Rewriter::callPostRewrite(theory::TheoryId theoryId, TNode node) {
39 switch(theoryId) {
40 ${post_rewrite_calls}
41 default:
42 Unreachable();
43 }
44 }
45
46 Node Rewriter::getPreRewriteCache(theory::TheoryId theoryId, TNode node) {
47 switch(theoryId) {
48 ${pre_rewrite_get_cache}
49 default:
50 Unreachable();
51 }
52 }
53
54 Node Rewriter::getPostRewriteCache(theory::TheoryId theoryId, TNode node) {
55 switch(theoryId) {
56 ${post_rewrite_get_cache}
57 default:
58 Unreachable();
59 }
60 }
61
62 void Rewriter::setPreRewriteCache(theory::TheoryId theoryId, TNode node, TNode cache) {
63 switch(theoryId) {
64 ${pre_rewrite_set_cache}
65 default:
66 Unreachable();
67 }
68 }
69
70 void Rewriter::setPostRewriteCache(theory::TheoryId theoryId, TNode node, TNode cache) {
71 switch(theoryId) {
72 ${post_rewrite_set_cache}
73 default:
74 Unreachable();
75 }
76 }
77
78 void Rewriter::init() {
79 ${rewrite_init}
80 }
81
82 void Rewriter::shutdown() {
83 ${rewrite_shutdown}
84 }
85
86 }/* CVC4::theory namespace */
87 }/* CVC4 namespace */