diff --git a/reactor/API/src/jetbrains/mps/logic/reactor/constraint/Instructible.java b/reactor/API/src/jetbrains/mps/logic/reactor/constraint/Instructible.java index 3e2bb04a..e150bb69 100644 --- a/reactor/API/src/jetbrains/mps/logic/reactor/constraint/Instructible.java +++ b/reactor/API/src/jetbrains/mps/logic/reactor/constraint/Instructible.java @@ -5,6 +5,6 @@ package jetbrains.mps.logic.reactor.constraint; public interface Instructible { - public void tell(Symbol symbol, Object... arg); + public void tell(Symbol symbol, Object... args); } diff --git a/reactor/API/src/jetbrains/mps/logic/reactor/constraint/JavaPredicate.java b/reactor/API/src/jetbrains/mps/logic/reactor/constraint/JavaPredicate.java new file mode 100644 index 00000000..1043d0d6 --- /dev/null +++ b/reactor/API/src/jetbrains/mps/logic/reactor/constraint/JavaPredicate.java @@ -0,0 +1,24 @@ +package jetbrains.mps.logic.reactor.constraint; + +/*Generated by MPS */ + + +public class JavaPredicate extends AbstractPredicate { + + private JavaPredicateSymbol symbol; + + public JavaPredicate(JavaPredicateSymbol predicateSymbol, String id, Object... args) { + super(args); + this.id = id; + this.symbol = predicateSymbol; + } + + public String id() { + return id; + } + + public PredicateSymbol symbol() { + return symbol; + } + private String id; +} diff --git a/reactor/API/src/jetbrains/mps/logic/reactor/constraint/JavaPredicateSymbol.java b/reactor/API/src/jetbrains/mps/logic/reactor/constraint/JavaPredicateSymbol.java index d972ff62..6edd15a5 100644 --- a/reactor/API/src/jetbrains/mps/logic/reactor/constraint/JavaPredicateSymbol.java +++ b/reactor/API/src/jetbrains/mps/logic/reactor/constraint/JavaPredicateSymbol.java @@ -5,12 +5,18 @@ package jetbrains.mps.logic.reactor.constraint; public class JavaPredicateSymbol extends PredicateSymbol { - public JavaPredicateSymbol(String expression, int arity) { - super(expression, arity); + public static final JavaPredicateSymbol EXPRESSION0 = new JavaPredicateSymbol(1); + + public static final JavaPredicateSymbol EXPRESSION1 = new JavaPredicateSymbol(2); + + public static final JavaPredicateSymbol EXPRESSION2 = new JavaPredicateSymbol(3); + + public static final JavaPredicateSymbol EXPRESSION3 = new JavaPredicateSymbol(4); + + private static final String EXPRESSION = "expression"; + + public JavaPredicateSymbol(int arity) { + super(EXPRESSION, arity); } - @Override - public String toString() { - return "J:" + id() + "/" + arity(); - } } diff --git a/reactor/API/src/jetbrains/mps/logic/reactor/constraint/Queryable.java b/reactor/API/src/jetbrains/mps/logic/reactor/constraint/Queryable.java index 456a23a4..3242b9f5 100644 --- a/reactor/API/src/jetbrains/mps/logic/reactor/constraint/Queryable.java +++ b/reactor/API/src/jetbrains/mps/logic/reactor/constraint/Queryable.java @@ -5,6 +5,6 @@ package jetbrains.mps.logic.reactor.constraint; public interface Queryable extends Instructible { - public boolean ask(PredicateSymbol predicateSymbol, Object... arg); + public boolean ask(PredicateSymbol predicateSymbol, Object... args); } diff --git a/reactor/API/src/jetbrains/mps/logic/reactor/constraint/trace.info b/reactor/API/src/jetbrains/mps/logic/reactor/constraint/trace.info index f56bf2c6..58ee54ff 100644 --- a/reactor/API/src/jetbrains/mps/logic/reactor/constraint/trace.info +++ b/reactor/API/src/jetbrains/mps/logic/reactor/constraint/trace.info @@ -9,6 +9,7 @@ + @@ -34,9 +35,9 @@ - + - + @@ -111,7 +112,7 @@ - + @@ -136,18 +137,18 @@ - - - - - - - + + + + + + + + + - - - + @@ -195,11 +196,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + - + @@ -209,7 +235,7 @@ - + @@ -229,7 +255,7 @@ - + diff --git a/reactor/API/src/jetbrains/mps/logic/reactor/program/EvaluationSession.java b/reactor/API/src/jetbrains/mps/logic/reactor/program/EvaluationSession.java index 78f16968..b1995a40 100644 --- a/reactor/API/src/jetbrains/mps/logic/reactor/program/EvaluationSession.java +++ b/reactor/API/src/jetbrains/mps/logic/reactor/program/EvaluationSession.java @@ -20,11 +20,11 @@ public abstract class EvaluationSession { return ourBackend.current(); } - public static EvaluationSession.Config newSession() { + public static EvaluationSession.Config newSession(PlanningSession program) { if (ourBackend == null) { throw new IllegalStateException("no backend"); } - return ourBackend.createConfig(); + return ourBackend.createConfig(program); } public static abstract class Config { @@ -64,7 +64,7 @@ public abstract class EvaluationSession { public EvaluationSession current(); - public EvaluationSession.Config createConfig(); + public EvaluationSession.Config createConfig(PlanningSession program); } diff --git a/reactor/API/src/jetbrains/mps/logic/reactor/program/PlanningSession.java b/reactor/API/src/jetbrains/mps/logic/reactor/program/PlanningSession.java index c3a39d78..a5f40f01 100644 --- a/reactor/API/src/jetbrains/mps/logic/reactor/program/PlanningSession.java +++ b/reactor/API/src/jetbrains/mps/logic/reactor/program/PlanningSession.java @@ -22,6 +22,8 @@ public abstract class PlanningSession { public abstract String name(); + public abstract SessionSolver sessionSolver(); + public abstract Iterable constraintSymbols(); public abstract List> constraintArgumentTypes(ConstraintSymbol constraintSymbol); diff --git a/reactor/API/src/jetbrains/mps/logic/reactor/program/trace.info b/reactor/API/src/jetbrains/mps/logic/reactor/program/trace.info index 486969c6..618f1ace 100644 --- a/reactor/API/src/jetbrains/mps/logic/reactor/program/trace.info +++ b/reactor/API/src/jetbrains/mps/logic/reactor/program/trace.info @@ -12,63 +12,65 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + + - - + + - - + + - - + + + - - + + - - + + - + - - - + + + - - + + - + - + - - + + @@ -76,7 +78,7 @@ - + @@ -90,14 +92,14 @@ - + - + - + @@ -122,13 +124,17 @@ - + + + - + - + + +