package org.simantics.scl.compiler.internal.codegen.chr;
+import org.simantics.scl.runtime.chr.CHRFact;
import org.simantics.scl.runtime.chr.CHRHashIndex;
-import org.simantics.scl.runtime.chr.Fact;
-import org.simantics.scl.runtime.chr.FactActivationQueue;
+import org.simantics.scl.runtime.chr.CHRRuntimeRuleset;
-public class ExampleStore {
+public class ExampleStore extends CHRRuntimeRuleset {
/*
* constraint ExampleFact Integer Integer where
* index(bf)
}
};
- public FactActivationQueue queue = new FactActivationQueue(2);
-
private ExampleFact ExampleFact_temp = new ExampleFact();
public ExampleFact getExampleFact_bf(int c0) {
return (ExampleFact)ExampleFact_bfIndex.getEqual(ExampleFact_temp);
}
- public static class ExampleFact implements Fact {
- public int id;
+ public static class ExampleFact extends CHRFact {
public int c0; // key
public int c1;
public ExampleFact bfPrev;
bfNext.bfPrev = bfPrev;
}
}
-
- @Override
- public int activate(Object context, int priority) {
- return -1;
- }
-
- @Override
- public boolean isAlive() {
- return id >= 0;
- }
}
}