5 #include "signatureenc.h"
12 Interpreter(CSolver *solver);
15 void writeToFile(string str);
16 uint64_t getValue(Element *element);
17 bool getBooleanValue(Boolean *element);
18 virtual ~Interpreter();
20 virtual void dumpFooter() = 0;
21 virtual void dumpHeader() = 0;
23 virtual void compileRunCommand(char * command, size_t size) = 0;
24 string encodeConstraint(BooleanEdge constraint);
25 virtual int getResult() = 0;
26 virtual string negateConstraint(string constr) = 0;
27 virtual void dumpAllConstraints(Vector<char *> &facts) = 0;
28 virtual string encodeBooleanLogic( BooleanLogic *bl) = 0;
29 virtual string encodeBooleanVar( BooleanVar *bv) = 0;
30 string encodePredicate( BooleanPredicate *bp);
31 string encodeOperatorPredicate(BooleanPredicate *constraint);
32 virtual string processElementFunction(ElementFunction *element, ElementSig *signature) = 0;
33 virtual string operatorPredicateConstraint(CompOp op, ElementSig *elemSig1, ElementSig *elemSig2) = 0;