示例#1
0
        private static void GenerateConstraints(CWExpr choiceExpr, int maxNumVariables, VariableCache.ConstraintMode constraintMode, Context z3Context, Solver z3Solver)
        {
            VariableCache variableGenerator = VariableCache.Create(constraintMode);

            choiceExpr.ToSMTConstraints(z3Context, z3Solver, maxNumVariables, variableGenerator);
            variableGenerator.GenerateAdditionalConstraints(z3Context, z3Solver);
        }
示例#2
0
        public ProgramGenerator(WExpr baseProgram, WEFilter.Filtermode filterMode, VariableCache.ConstraintMode constMode, params ProgramBuilder.FilterMode[] builderFilterModes)
        {
            this.maxNumVariables    = baseProgram.GetNumVariables();
            this.choiceTree         = baseProgram.GetCWE();
            this.filter             = WEFilter.Create(filterMode, baseProgram);
            this.constMode          = constMode;
            this.builderFilterModes = builderFilterModes;

            initialize();
        }
示例#3
0
 public CWEWhile(CWCond condition, CWExpr body)
 {
     this.condition = condition;
     this.body      = body;
 }
示例#4
0
 public CWEIf(CWCond condition, CWExpr thenBody, CWExpr elseBody)
 {
     this.condition = condition;
     this.thenBody  = thenBody;
     this.elseBody  = elseBody;
 }
示例#5
0
 public CWEConcat(CWExpr expr1, CWExpr expr2)
 {
     this.expr1 = expr1;
     this.expr2 = expr2;
 }