summaryrefslogtreecommitdiff
path: root/src/main/java/bjc/rgens/parser/Rule.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/bjc/rgens/parser/Rule.java')
-rwxr-xr-xsrc/main/java/bjc/rgens/parser/Rule.java20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/main/java/bjc/rgens/parser/Rule.java b/src/main/java/bjc/rgens/parser/Rule.java
index 3e7d884..b5a87c3 100755
--- a/src/main/java/bjc/rgens/parser/Rule.java
+++ b/src/main/java/bjc/rgens/parser/Rule.java
@@ -199,4 +199,24 @@ public class Rule {
public void endRecur() {
if(currentRecur > 0) currentRecur -= 1;
}
+
+ public Rule exhaust() {
+ Rule rl = new Rule(name);
+
+ rl.cases = cases.exhaustible();
+
+ rl.prob = prob;
+
+ rl.descentFactor = descentFactor;
+
+ rl.target = target;
+ rl.bound = bound;
+ rl.trials = trials;
+
+ rl.recurLimit = recurLimit;
+ /* @NOTE Is this the right thing to do? */
+ rl.currentRecur = 0;
+
+ return rl;
+ }
}