5 #include "signatureenc.h"
13 Interpreter(CSolver *solver);
16 void writeToFile(string str);
17 uint64_t getValue(Element *element);
18 bool getBooleanValue(Boolean *element);
19 virtual ValuedSignature *getBooleanSignature(uint id) = 0;
20 virtual ValuedSignature *getElementSignature(uint id, Signature *ssig) = 0;
21 virtual Signature *getSetSignature(uint id, Set *set) = 0;
22 virtual ~Interpreter();
24 virtual void dumpFooter() = 0;
25 virtual void dumpHeader() = 0;
27 virtual void compileRunCommand(char * command, size_t size) = 0;
28 string encodeConstraint(BooleanEdge constraint);
29 virtual int getResult() = 0;
30 virtual string negateConstraint(string constr) = 0;
31 virtual void dumpAllConstraints(Vector<char *> &facts) = 0;
32 virtual string encodeBooleanLogic( BooleanLogic *bl) = 0;
33 virtual string encodeBooleanVar( BooleanVar *bv) = 0;
34 string encodePredicate( BooleanPredicate *bp);
35 string encodeOperatorPredicate(BooleanPredicate *constraint);
36 virtual string processElementFunction(ElementFunction *element, ValuedSignature *signature) = 0;
37 virtual string operatorPredicateConstraint(CompOp op, ValuedSignature *elemSig1, ValuedSignature *elemSig2) = 0;