summaryrefslogtreecommitdiff
path: root/dice-lang/src/bjc/dicelang/Define.java
diff options
context:
space:
mode:
authorbjculkin <bjculkin@mix.wvu.edu>2017-04-11 17:51:13 -0400
committerbjculkin <bjculkin@mix.wvu.edu>2017-04-11 17:51:13 -0400
commit40858cee415643769ee5f6216b0cd4335996ff2f (patch)
tree86b1c334fa2e5b79cddc16984f5ad43c3c72e41f /dice-lang/src/bjc/dicelang/Define.java
parent767ca1b248da19b754d42a814b71b43ef16090be (diff)
General cleanup and fixes
Diffstat (limited to 'dice-lang/src/bjc/dicelang/Define.java')
-rw-r--r--dice-lang/src/bjc/dicelang/Define.java54
1 files changed, 53 insertions, 1 deletions
diff --git a/dice-lang/src/bjc/dicelang/Define.java b/dice-lang/src/bjc/dicelang/Define.java
index d9e1f84..dbc349d 100644
--- a/dice-lang/src/bjc/dicelang/Define.java
+++ b/dice-lang/src/bjc/dicelang/Define.java
@@ -12,14 +12,42 @@ import static bjc.dicelang.Errors.ErrorKey.EK_DFN_PREDSYN;
import static bjc.dicelang.Errors.ErrorKey.EK_DFN_RECUR;
import static bjc.dicelang.Errors.ErrorKey.EK_DFN_SRCSYN;
+/**
+ * A regular expression based pre-processor define.
+ *
+ * @author EVE
+ *
+ */
public class Define implements UnaryOperator<String>, Comparable<Define> {
+ /**
+ * The define type.
+ *
+ * @author EVE
+ *
+ */
public static enum Type {
- LINE, TOKEN
+ /**
+ * Match on lines.
+ */
+ LINE,
+ /**
+ * Match on tokens.
+ */
+ TOKEN
}
+ /**
+ * The max amount of times to recur on expansions.
+ */
public static int MAX_RECURS = 10;
+ /**
+ * The priority of this definition.
+ */
public final int priority;
+ /**
+ * Whether or not this definition is in error.
+ */
public final boolean inError;
private boolean doRecur;
@@ -31,6 +59,30 @@ public class Define implements UnaryOperator<String>, Comparable<Define> {
private Iterator<String> replacers;
private String replacer;
+ /**
+ * Create a new define.
+ *
+ * @param priorty
+ * The priority of the define.
+ *
+ * @param isSub
+ * Whether or not this is a 'sub-define'
+ *
+ * @param recur
+ * Whether this define is recursive or not.
+ *
+ * @param isCircular
+ * Whether this define is circular or not.
+ *
+ * @param predicte
+ * The string to use as a predicate.
+ *
+ * @param searchr
+ * The string to use as a search.
+ *
+ * @param replacrs
+ * The source for replacement strings.
+ */
public Define(int priorty, boolean isSub, boolean recur, boolean isCircular, String predicte, String searchr,
Iterable<String> replacrs) {
priority = priorty;