summaryrefslogtreecommitdiff
path: root/src/main/java/bjc/rgens/parser/Rule.java
diff options
context:
space:
mode:
authorBenjamin J. Culkin <bjculkin@mix.wvu.edu>2018-06-04 21:13:50 -0300
committerBenjamin J. Culkin <bjculkin@mix.wvu.edu>2018-06-04 21:13:50 -0300
commit9b9ce0c3123d70b9e839084aade4f37eb08e328d (patch)
tree613702e05990ca2344b230490acbea6606041c37 /src/main/java/bjc/rgens/parser/Rule.java
parent4809072030d5ce659f38d9756213fca1db1e7f6c (diff)
Rule variables pt. 1
Add the capability to store regular/exhaustible rule variables
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;
+ }
}