1 #ifndef ALLOYINTERPRETER_H
2 #define ALLOYINTERPRETER_H
5 #include "signatureenc.h"
6 #include "interpreter.h"
10 class AlloyInterpreter: public Interpreter{
12 AlloyInterpreter(CSolver *solver);
13 virtual ValuedSignature *getBooleanSignature(uint id);
14 virtual ValuedSignature *getElementSignature(uint id, Signature *ssig);
15 virtual Signature *getSetSignature(uint id, Set *set);
16 virtual ~AlloyInterpreter();
18 virtual void dumpFooter();
19 virtual void dumpHeader();
20 int getAlloyIntScope();
21 virtual void compileRunCommand(char * command , size_t size);
22 virtual int getResult();
23 virtual void dumpAllConstraints(Vector<char *> &facts);
24 virtual string negateConstraint(string constr);
25 virtual string encodeBooleanLogic( BooleanLogic *bl);
26 virtual string encodeBooleanVar( BooleanVar *bv);
27 string encodeOperatorPredicate(BooleanPredicate *constraint);
28 virtual string processElementFunction(ElementFunction *element, ValuedSignature *signature);
29 virtual string operatorPredicateConstraint(CompOp op, ValuedSignature *elemSig1, ValuedSignature *elemSig2);