summaryrefslogtreecommitdiff
path: root/dice-lang
diff options
context:
space:
mode:
authorbculkin2442 <bjculkin@mix.wvu.edu>2017-03-06 14:15:03 -0500
committerbculkin2442 <bjculkin@mix.wvu.edu>2017-03-06 14:15:03 -0500
commit9139064c95f6c9c4f7ba1d0aea21e2f5233ad188 (patch)
treedd93017bff73e61fec20c58b7baa43d1662c0c5b /dice-lang
parentb11f8d2c92aaaf1160e69190559ffadc4774f138 (diff)
Formatting/Documentation
Diffstat (limited to 'dice-lang')
-rw-r--r--dice-lang/src/bjc/dicelang/Define.java13
-rw-r--r--dice-lang/src/bjc/dicelang/DiceLangEngine.java293
-rw-r--r--dice-lang/src/bjc/dicelang/Errors.java254
-rw-r--r--dice-lang/src/bjc/dicelang/StreamEngine.java134
-rw-r--r--dice-lang/src/bjc/dicelang/dice/CompoundDie.java24
-rw-r--r--dice-lang/src/bjc/dicelang/dice/CompoundingDie.java31
-rw-r--r--dice-lang/src/bjc/dicelang/dice/DiceBox.java107
-rw-r--r--dice-lang/src/bjc/dicelang/dice/Die.java30
-rw-r--r--dice-lang/src/bjc/dicelang/dice/DieExpression.java30
-rw-r--r--dice-lang/src/bjc/dicelang/dice/DieList.java24
-rw-r--r--dice-lang/src/bjc/dicelang/dice/ExplodingDice.java43
-rw-r--r--dice-lang/tags1408
12 files changed, 1474 insertions, 917 deletions
diff --git a/dice-lang/src/bjc/dicelang/Define.java b/dice-lang/src/bjc/dicelang/Define.java
index 2967af6..a70ca61 100644
--- a/dice-lang/src/bjc/dicelang/Define.java
+++ b/dice-lang/src/bjc/dicelang/Define.java
@@ -34,6 +34,11 @@ public class Define implements UnaryOperator<String> {
doRecur = recur;
subType = isSub;
+ inError = false;
+
+ /*
+ * Only try to compile non-null predicates
+ */
if(predicte != null) {
try {
predicate = Pattern.compile(predicte);
@@ -44,6 +49,9 @@ public class Define implements UnaryOperator<String> {
}
}
+ /*
+ * Compile the search pattern
+ */
try {
searcher = Pattern.compile(searchr);
} catch (PatternSyntaxException psex) {
@@ -52,8 +60,9 @@ public class Define implements UnaryOperator<String> {
return;
}
- inError = false;
-
+ /*
+ * Check whether or not we do sub-replacements
+ */
if(subType) {
if(replacrs.iterator().hasNext()) {
replacers = new CircularIterator<>(replacrs, isCircular);
diff --git a/dice-lang/src/bjc/dicelang/DiceLangEngine.java b/dice-lang/src/bjc/dicelang/DiceLangEngine.java
index 195c98a..dfe956e 100644
--- a/dice-lang/src/bjc/dicelang/DiceLangEngine.java
+++ b/dice-lang/src/bjc/dicelang/DiceLangEngine.java
@@ -21,57 +21,97 @@ import java.util.LinkedList;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
+/**
+ * Implements the orchestration necessary for processing DiceLang commands
+ *
+ * @author Ben Culkin
+ */
public class DiceLangEngine {
- // Input rules for processing tokens
+ /*
+ * Input rules for processing tokens.
+ */
private List<IPair<String, String>> opExpansionList;
- private List<IPair<String, String>> deaffixationList;
- // ID for generation
+ /*
+ * ID for generation.
+ */
private int nextLiteral;
- // Debug indicator
+ /*
+ * Debug indicator.
+ */
private boolean debugMode;
- // Should we do shunting?
+ /*
+ * Should we do shunting?
+ */
private boolean postfixMode;
- // Should we reverse the token stream
+ /*
+ * Should we reverse the token stream?
+ */
private boolean prefixMode;
- // Should we do step-by-step evaluation
+ /*
+ * Should we do step-by-step evaluation?
+ */
private boolean stepEval;
- // Shunter for token postfixing
+ /*
+ * Shunter for token postfixing.
+ */
private Shunter shunt;
- // Tokenizer for tokenizing
+ /*
+ * Tokenizer for tokenizing.
+ */
private Tokenizer tokenzer;
- // Parser for tree construction
+ /*
+ * Parser for tree construction.
+ */
private Parser parsr;
- // Evaluator for evaluating
+ /*
+ * Evaluator for evaluating.
+ */
private Evaluator eval;
- // Tables for symbols
+ /*
+ * Tables for symbols.
+ */
public final IMap<Integer, String> symTable;
public final IMap<Integer, String> stringLits;
- // Lists for preprocessing
+ /*
+ * Lists for preprocessing.
+ */
private IList<Define> lineDefns;
private IList<Define> tokenDefns;
- // Are defns sorted by priority
+ /*
+ * Are defns sorted by priority?
+ */
private boolean defnsSorted;
- // Stream engine for processing streams
+ /*
+ * Stream engine for processing streams.
+ */
private StreamEngine streamEng;
public DiceLangEngine() {
+ /*
+ * Initialize defns.
+ */
lineDefns = new FunctionalList<>();
tokenDefns = new FunctionalList<>();
defnsSorted = true;
+ /*
+ * Init tables.
+ */
symTable = new FunctionalMap<>();
stringLits = new FunctionalMap<>();
+ /*
+ * Initialize operator expansion list.
+ */
opExpansionList = new LinkedList<>();
-
opExpansionList.add(new Pair<>("+", "\\+"));
opExpansionList.add(new Pair<>("-", "-"));
opExpansionList.add(new Pair<>("*", "\\*"));
@@ -80,30 +120,36 @@ public class DiceLangEngine {
opExpansionList.add(new Pair<>(":=", ":="));
opExpansionList.add(new Pair<>("=>", "=>"));
opExpansionList.add(new Pair<>(",", ","));
-
- deaffixationList = new LinkedList<>();
-
- deaffixationList.add(new Pair<>("(", "\\("));
- deaffixationList.add(new Pair<>(")", "\\)"));
- deaffixationList.add(new Pair<>("[", "\\["));
- deaffixationList.add(new Pair<>("]", "\\]"));
- deaffixationList.add(new Pair<>("{", "\\{"));
- deaffixationList.add(new Pair<>("}", "}"));
+ opExpansionList.add(new Pair<>("(", "\\("));
+ opExpansionList.add(new Pair<>(")", "\\)"));
+ opExpansionList.add(new Pair<>("[", "\\["));
+ opExpansionList.add(new Pair<>("]", "\\]"));
+ opExpansionList.add(new Pair<>("{", "\\{"));
+ opExpansionList.add(new Pair<>("}", "}"));
nextLiteral = 1;
+ /*
+ * Initial mode settings.
+ */
debugMode = true;
postfixMode = false;
prefixMode = false;
stepEval = false;
+ /*
+ * Create components.
+ */
streamEng = new StreamEngine(this);
- shunt = new Shunter();
- tokenzer = new Tokenizer(this);
- parsr = new Parser();
- eval = new Evaluator(this);
+ shunt = new Shunter();
+ tokenzer = new Tokenizer(this);
+ parsr = new Parser();
+ eval = new Evaluator(this);
}
+ /**
+ * Sort defns by priority.
+ */
public void sortDefns() {
Comparator<Define> defnCmp = (dfn1, dfn2) -> dfn1.priority - dfn2.priority;
@@ -113,36 +159,66 @@ public class DiceLangEngine {
defnsSorted = true;
}
+ /**
+ * Add a defn that's applied to lines.
+ *
+ * @param dfn The defn to add.
+ */
public void addLineDefine(Define dfn) {
lineDefns.add(dfn);
defnsSorted = false;
}
+ /**
+ * Add a defn that's applied to tokens.
+ *
+ * @param dfn The defn to add.
+ */
public void addTokenDefine(Define dfn) {
tokenDefns.add(dfn);
defnsSorted = false;
}
+ /**
+ * Toggle debug mode.
+ *
+ * @return The current state of debug mode.
+ */
public boolean toggleDebug() {
debugMode = !debugMode;
return debugMode;
}
+ /**
+ * Toggle postfix mode.
+ *
+ * @return The current state of postfix mode.
+ */
public boolean togglePostfix() {
postfixMode = !postfixMode;
return postfixMode;
}
+ /**
+ * Toggle prefix mode.
+ *
+ * @return The current state of prefix mode
+ */
public boolean togglePrefix() {
prefixMode = !prefixMode;
return prefixMode;
}
+ /**
+ * Toggle step-eval mode
+ *
+ * @return The current state of step-eval mode
+ */
public boolean toggleStepEval() {
stepEval = !stepEval;
@@ -163,34 +239,49 @@ public class DiceLangEngine {
*/
private Pattern quotePattern = Pattern.compile("\"([^\\\"]*(?:\\\"(?:[^\\\"])*)*)\"");
- // Similiar to the above, but using angle brackets instead of quotes
+ /*
+ * Similiar to the above, but using angle brackets instead of quotes
+ */
private Pattern nonExpandPattern = Pattern.compile("<<([^\\>]*(?:\\>(?:[^\\>])*)*)>>");
+ /**
+ * Run a command to completion.
+ *
+ * @param command The command to run
+ *
+ * @return Whether or not the command ran succesfully
+ */
public boolean runCommand(String command) {
- // Sort the defines if they aren't sorted
+ /*
+ * Sort the defines if they aren't sorted
+ */
if(!defnsSorted) sortDefns();
+ /*
+ * Run the tokens through the stream engine
+ */
IList<String> streamToks = new FunctionalList<>();
boolean success = streamEng.doStreams(command.split(" "), streamToks);
if(!success) return false;
+ /*
+ * Apply line defns
+ */
String newComm = ListUtils.collapseTokens(streamToks, " ");
-
if(debugMode)
System.out.println("\tCommand after stream commands: " + newComm);
-
for(Define dfn : lineDefns.toIterable()) {
newComm = dfn.apply(newComm);
}
-
if(debugMode)
System.out.println("\tCommand after line defines: " + newComm);
+ /*
+ * Destring command
+ */
IMap<String, String> stringLiterals = new FunctionalMap<>();
-
Matcher quoteMatcher = quotePattern.matcher(newComm);
StringBuffer destringedCommand = new StringBuffer();
-
while(quoteMatcher.find()) {
String stringLit = quoteMatcher.group(1);
@@ -199,13 +290,7 @@ public class DiceLangEngine {
quoteMatcher.appendReplacement(destringedCommand, " " + litName + " ");
}
-
quoteMatcher.appendTail(destringedCommand);
-
- // Split the command into tokens
- IList<String> tokens = FunctionalStringTokenizer
- .fromString(destringedCommand.toString()).toList();
-
if(debugMode) {
System.out.println("\tCommand after destringing: " + destringedCommand);
@@ -218,11 +303,19 @@ public class DiceLangEngine {
}
}
+ /*
+ * Split the command into tokens
+ */
+ IList<String> tokens = FunctionalStringTokenizer
+ .fromString(destringedCommand.toString()).toList();
+
+
+ /*
+ * Temporarily remove non-expanding tokens
+ */
IMap<String, String> nonExpandedTokens = new FunctionalMap<>();
-
tokens = tokens.map(tk -> {
Matcher nonExpandMatcher = nonExpandPattern.matcher(tk);
-
if(nonExpandMatcher.matches()) {
String tkName = "nonExpandToken" + nextLiteral++;
nonExpandedTokens.put(tkName, nonExpandMatcher.group(1));
@@ -232,14 +325,18 @@ public class DiceLangEngine {
return tk;
}
});
+ if(debugMode)
+ System.out.printf("\tCommand after removal of non-expanders: %s\n", tokens.toString());
- System.out.println("\tCommand after removal of non-expanders: " + tokens.toString());
-
- IList<String> semiExpandedTokens = deaffixTokens(tokens, deaffixationList);
- IList<String> fullyExpandedTokens = deaffixTokens(semiExpandedTokens, opExpansionList);
-
+ /*
+ * Expand tokens
+ */
+ IList<String> fullyExpandedTokens = deaffixTokens(tokens, opExpansionList);
System.out.println("\tCommand after token expansion: " + fullyExpandedTokens.toString());
+ /*
+ * Reinsert non-expanded tokens
+ */
fullyExpandedTokens = fullyExpandedTokens.map(tk -> {
if(tk.startsWith("nonExpandToken")) {
return nonExpandedTokens.get(tk);
@@ -247,46 +344,61 @@ public class DiceLangEngine {
return tk;
}
});
-
if(debugMode)
- System.out.printf("\tCommand after non-expander reinsertion: "
- + fullyExpandedTokens.toString() + "\n");
+ System.out.printf("\tCommand after non-expander reinsertion: %s\n",
+ fullyExpandedTokens.toString());
IList<Token> lexedTokens = new FunctionalList<>();
-
for(String token : fullyExpandedTokens) {
String newTok = token;
+ /*
+ * Apply token defns
+ */
for(Define dfn : tokenDefns.toIterable()) {
newTok = dfn.apply(newTok);
}
+ /*
+ * Lex the token
+ */
Token tk = tokenzer.lexToken(token, stringLiterals);
+ /*
+ * Ignore blank tokens
+ */
if(tk == null) continue;
+ /*
+ * Fail on bad tokens
+ */
else if(tk == Token.NIL_TOKEN) return false;
else lexedTokens.add(tk);
}
-
if(debugMode)
System.out.printf("\tCommand after tokenization: %s\n", lexedTokens.toString());
+ /*
+ * Handle preshunted tokens
+ */
IList<Token> shuntedTokens = lexedTokens;
-
IList<Token> preparedTokens = new FunctionalList<>();
- boolean sc = removePreshuntTokens(lexedTokens, preparedTokens);
-
+ succ = removePreshuntTokens(lexedTokens, preparedTokens);
if(!sc) return false;
-
if(debugMode && !postfixMode)
System.out.printf("\tCommand after pre-shunter removal: %s\n", preparedTokens.toString());
if(!postfixMode && !prefixMode) {
+ /*
+ * Shunt the tokens
+ */
shuntedTokens = new FunctionalList<>();
success = shunt.shuntTokens(preparedTokens, shuntedTokens);
if(!success) return false;
} else if(prefixMode) {
+ /*
+ * Reverse directional tokens
+ */
preparedTokens.reverse();
shuntedTokens = preparedTokens.map(tk -> {
switch(tk.type) {
@@ -307,10 +419,12 @@ public class DiceLangEngine {
}
});
}
-
if(debugMode && !postfixMode)
System.out.printf("\tCommand after shunting: %s\n", shuntedTokens.toString());
+ /*
+ * Expand token groups
+ */
IList<Token> readyTokens = shuntedTokens.flatMap(tk -> {
if(tk.type == Token.Type.TOKGROUP) {
return tk.tokenValues;
@@ -320,37 +434,47 @@ public class DiceLangEngine {
return new FunctionalList<>(tk);
}
});
-
if(debugMode && !postfixMode)
System.out.printf("\tCommand after re-preshunting: %s\n", readyTokens.toString());
+ /*
+ * Parse the tokens
+ */
IList<ITree<Node>> astForest = new FunctionalList<>();
success = parsr.parseTokens(readyTokens, astForest);
-
if(!success) return false;
- if(debugMode) {
- evaluateForest(astForest);
- }
+ /*
+ * Evaluate the tokens
+ */
+ evaluateForest(astForest);
return true;
}
private void evaluateForest(IList<ITree<Node>> astForest) {
- System.out.println("\tParsed forest of asts");
+ if(debugMode)
+ System.out.println("\tParsed forest of asts");
int treeNo = 1;
for(ITree<Node> ast : astForest) {
- System.out.println("\t\tTree " + treeNo + " in forest:\n" + ast);
+ if(debugMode)
+ System.out.println("\t\tTree " + treeNo + " in forest:\n" + ast);
- if(stepEval) {
+ if(debugMode && stepEval) {
int step = 1;
+ /*
+ * Evaluate it step by step
+ */
for(Iterator<ITree<Node>> itr = eval.stepDebug(ast); itr.hasNext();){
ITree<Node> nodeStep = itr.next();
System.out.printf("\t\tStep %d: Node is %s", step, nodeStep);
+ /*
+ * Don't evaluate null steps
+ */
if(nodeStep == null) {
System.out.println();
@@ -358,6 +482,9 @@ public class DiceLangEngine {
continue;
}
+ /*
+ * Print out details for results
+ */
if(nodeStep.getHead().type == Node.Type.RESULT) {
EvaluatorResult res = nodeStep.getHead().resultVal;
@@ -374,16 +501,24 @@ public class DiceLangEngine {
System.out.printf(")");
}
-
+ /*
+ * Advance a step
+ */
System.out.println();
step += 1;
}
} else {
+ /*
+ * Evaluate it normally
+ */
EvaluatorResult res = eval.evaluate(ast);
- System.out.printf("\t\tEvaluates to %s", res);
- if(res.type == EvaluatorResult.Type.DICE) {
- System.out.println("\t\t (sample roll " + res.diceVal.value() + ")");
+ if(debugMode) {
+ System.out.printf("\t\tEvaluates to %s", res);
+
+ if(res.type == EvaluatorResult.Type.DICE) {
+ System.out.println("\t\t (sample roll " + res.diceVal.value() + ")");
+ }
}
}
@@ -470,12 +605,16 @@ public class DiceLangEngine {
for(String tk : working) {
if(opRegexOnly.matcher(tk).matches()) {
- // The string contains only the operator
+ /*
+ * The string contains only the operator
+ */
newWorking.add(tk);
} else {
Matcher medianMatcher = opRegexPattern.matcher(tk);
- // Read the first match
+ /*
+ * Read the first match
+ */
boolean found = medianMatcher.find();
if(!found) {
@@ -496,7 +635,9 @@ public class DiceLangEngine {
String[] pieces = opRegexPattern.split(tk);
if(startsWith) {
- // Skip the starting operator
+ /*
+ * Skip the starting operator
+ */
medianMatcher.find();
newWorking.add(tk.substring(0, startMatcher.end()));
}
@@ -504,7 +645,9 @@ public class DiceLangEngine {
for(int i = 0; i < pieces.length; i++) {
String piece = pieces[i];
- // Find the next operator
+ /*
+ * Find the next operator
+ */
boolean didFind = medianMatcher.find();
if(piece.equals("")) {
diff --git a/dice-lang/src/bjc/dicelang/Errors.java b/dice-lang/src/bjc/dicelang/Errors.java
index e6a825c..729ecc2 100644
--- a/dice-lang/src/bjc/dicelang/Errors.java
+++ b/dice-lang/src/bjc/dicelang/Errors.java
@@ -21,7 +21,7 @@ public class Errors {
EK_ENG_NOOPENING,
// Reached end of command w/out balanced doublebraces
EK_ENG_NOCLOSING,
-
+
// Tokenizer Errors
// Found an unexpected grouping token
EK_TOK_UNGROUP,
@@ -29,7 +29,7 @@ public class Errors {
EK_TOK_INVBASE,
// Invalid flexadecimal number in a given base
EK_TOK_INVFLEX,
-
+
// Evaluator Errors
// Unknown node type
EK_EVAL_INVNODE,
@@ -102,136 +102,136 @@ public class Errors {
public void printError(ErrorKey key, String... args) {
switch(mode) {
- case WIZARD:
- System.out.println("\t? " + key.ordinal());
- break;
- case DEV:
- devError(key, args);
- break;
- default:
- System.out.println("\tERROR ERROR: Unknown error mode " + mode);
+ case WIZARD:
+ System.out.println("\t? " + key.ordinal());
+ break;
+ case DEV:
+ devError(key, args);
+ break;
+ default:
+ System.out.println("\tERROR ERROR: Unknown error mode " + mode);
}
}
private void devError(ErrorKey key, String[] args) {
switch(key) {
- case EK_DFN_PREDSYN:
- System.out.printf("\tERROR: Incorrect define guard syntax %s\n", args[0]);
- break;
- case EK_DFN_SRCSYN:
- System.out.printf("\tERROR: Incorrect define match syntax %s\n", args[0]);
- break;
- case EK_DFN_RECUR:
- System.out.printf("\tERROR: Recursive define didn't converge after %s iterations."
- + " Original string was %s, last iteration was %s\n",
- args[0], args[1], args[2]);
- break;
- case EK_CONS_INVPRAG:
- System.out.printf("\tERROR: Unknown pragma %s\n", args[0]);
- break;
- case EK_CONS_INVDEFINE:
- System.out.printf("\tERROR: Improperly formatted define %s\n", args[0]);
- break;
- case EK_ENG_NOOPENING:
- System.out.printf("\tERROR: Encountered closing doublebrace without"
- + " matching opening doublebrace\n");
- break;
- case EK_ENG_NOCLOSING:
- System.out.printf("\tERROR: Reached end of string before closing doublebrace was found\n");
- break;
- case EK_TOK_UNGROUP:
- System.out.printf("\tERROR: Unrecognized grouping token %s\n", args[0]);
- break;
- case EK_TOK_INVBASE:
- System.out.printf("\tERROR: Invalid flexadecimal base %s\n", args[0]);
- break;
- case EK_TOK_INVFLEX:
- System.out.printf("\tERROR: Invalid flexadecimal number %s in base %s\n", args[0], args[1]);
- break;
- case EK_EVAL_INVNODE:
- System.out.printf("\tERROR: Unknown node in evaluator: %s\n", args[0]);
- break;
- case EK_EVAL_INVBIN:
- System.out.printf("\tERROR: Binary operators take 2 operand, not %s\n"
- + "\tProblem node is %s\n", args[0], args[1]);
- break;
- case EK_EVAL_UNBIN:
- System.out.printf("\tERROR: Unknown binary operator %s\n", args[0]);
- break;
- case EK_EVAL_STRINGMATH:
- System.out.printf("\tERROR: Math operators don't work on strings\n");
- break;
- case EK_EVAL_DIVZERO:
- System.out.printf("\tERROR: Attempted divide by zero\n");
- break;
- case EK_EVAL_DIVDICE:
- System.out.printf("\tERROR: Dice cannot be divided\n");
- break;
- case EK_EVAL_UNMATH:
- System.out.printf("\tERROR: Unknown math binary operator: %s\n", args[0]);
- break;
- case EK_EVAL_UNTOK:
- System.out.printf("\tERROR: Unknown token ref %s\n", args[0]);
- break;
- case EK_EVAL_UNDICE:
- System.out.printf("\tERROR: Unknown dice operator %s\n", args[0]);
- break;
- case EK_EVAL_INVDGROUP:
- System.out.printf("\tERROR: Dice group operator expects scalar dice or integers,"
- + " not %s\n", args[0]);
- break;
- case EK_EVAL_INVDICE:
- System.out.printf("\tERROR: Dice operators expect scalar dice, not %s\n", args[0]);
- break;
- case EK_EVAL_MISMATH:
- System.out.printf("\tERROR: Math operators expect two operands of the same type\n");
- break;
- case EK_PARSE_NOCLOSE:
- System.out.printf("\tERROR: Group closing with no possible group opener\n");
- break;
- case EK_PARSE_UNCLOSE:
- System.out.printf("\tERROR: Found group closer without opener: (closing was %s"
- + ", expected %s)\n", args[0], args[1]);
- break;
- case EK_PARSE_BINARY:
- System.out.printf("\tERROR: Expected at least two operands\n");
- break;
- case EK_PARSE_UNOPERAND:
- System.out.printf("\tERROR: Operator %s expected more operands than provided\n", args[0]);
- break;
- case EK_PARSE_INVTOKEN:
- System.out.printf("\tERROR: Unrecognized token type in parsing: %s\n", args[0]);
- break;
- case EK_SHUNT_NOTADV:
- System.out.printf("\tERROR: Unary operator %s is an adjective, not an adverb. It can't be"
- + " applied to the operator %s\n", args[0], args[1]);
- break;
- case EK_SHUNT_NOTADJ:
- System.out.printf("\tERROR: Unary operator %s is an adjective, not an adverb. It can't be"
- + " applied to the operator %s\n", args[0], args[1]);
- break;
- case EK_SHUNT_NOOP:
- System.out.printf("\tERROR: Unary operator %s is an adverb, but there is no operator"
- + " to apply it to\n", args[0]);
- break;
- case EK_SHUNT_NOGROUP:
- System.out.printf("\tERROR: Couldn't find matching grouping %s (expected %s)\n",
- args[0], args[1]);
- break;
- case EK_SHUNT_INVSEP:
- System.out.printf("\tERROR: Couldn't find grouper for group seperator to attach to\n");
- break;
- case EK_STRM_NONEX:
- System.out.printf("\tERROR: Attempted to switch to non-existent stream\n");
- break;
- case EK_STRM_LAST:
- System.out.printf("\tERROR: Cannot delete last stream\n");
- break;
- case EK_STRM_INVCOM:
- System.out.printf("\tERROR: Unknown stream control command %s\n", args[0]);
- break;
- default:
- System.out.printf("\tERROR ERROR: Unknown error key %s\n", key);
+ case EK_DFN_PREDSYN:
+ System.out.printf("\tERROR: Incorrect define guard syntax %s\n", args[0]);
+ break;
+ case EK_DFN_SRCSYN:
+ System.out.printf("\tERROR: Incorrect define match syntax %s\n", args[0]);
+ break;
+ case EK_DFN_RECUR:
+ System.out.printf("\tERROR: Recursive define didn't converge after %s iterations."
+ + " Original string was %s, last iteration was %s\n",
+ args[0], args[1], args[2]);
+ break;
+ case EK_CONS_INVPRAG:
+ System.out.printf("\tERROR: Unknown pragma %s\n", args[0]);
+ break;
+ case EK_CONS_INVDEFINE:
+ System.out.printf("\tERROR: Improperly formatted define %s\n", args[0]);
+ break;
+ case EK_ENG_NOOPENING:
+ System.out.printf("\tERROR: Encountered closing doublebrace without"
+ + " matching opening doublebrace\n");
+ break;
+ case EK_ENG_NOCLOSING:
+ System.out.printf("\tERROR: Reached end of string before closing doublebrace was found\n");
+ break;
+ case EK_TOK_UNGROUP:
+ System.out.printf("\tERROR: Unrecognized grouping token %s\n", args[0]);
+ break;
+ case EK_TOK_INVBASE:
+ System.out.printf("\tERROR: Invalid flexadecimal base %s\n", args[0]);
+ break;
+ case EK_TOK_INVFLEX:
+ System.out.printf("\tERROR: Invalid flexadecimal number %s in base %s\n", args[0], args[1]);
+ break;
+ case EK_EVAL_INVNODE:
+ System.out.printf("\tERROR: Unknown node in evaluator: %s\n", args[0]);
+ break;
+ case EK_EVAL_INVBIN:
+ System.out.printf("\tERROR: Binary operators take 2 operand, not %s\n"
+ + "\tProblem node is %s\n", args[0], args[1]);
+ break;
+ case EK_EVAL_UNBIN:
+ System.out.printf("\tERROR: Unknown binary operator %s\n", args[0]);
+ break;
+ case EK_EVAL_STRINGMATH:
+ System.out.printf("\tERROR: Math operators don't work on strings\n");
+ break;
+ case EK_EVAL_DIVZERO:
+ System.out.printf("\tERROR: Attempted divide by zero\n");
+ break;
+ case EK_EVAL_DIVDICE:
+ System.out.printf("\tERROR: Dice cannot be divided\n");
+ break;
+ case EK_EVAL_UNMATH:
+ System.out.printf("\tERROR: Unknown math binary operator: %s\n", args[0]);
+ break;
+ case EK_EVAL_UNTOK:
+ System.out.printf("\tERROR: Unknown token ref %s\n", args[0]);
+ break;
+ case EK_EVAL_UNDICE:
+ System.out.printf("\tERROR: Unknown dice operator %s\n", args[0]);
+ break;
+ case EK_EVAL_INVDGROUP:
+ System.out.printf("\tERROR: Dice group operator expects scalar dice or integers,"
+ + " not %s\n", args[0]);
+ break;
+ case EK_EVAL_INVDICE:
+ System.out.printf("\tERROR: Dice operators expect scalar dice, not %s\n", args[0]);
+ break;
+ case EK_EVAL_MISMATH:
+ System.out.printf("\tERROR: Math operators expect two operands of the same type\n");
+ break;
+ case EK_PARSE_NOCLOSE:
+ System.out.printf("\tERROR: Group closing with no possible group opener\n");
+ break;
+ case EK_PARSE_UNCLOSE:
+ System.out.printf("\tERROR: Found group closer without opener: (closing was %s"
+ + ", expected %s)\n", args[0], args[1]);
+ break;
+ case EK_PARSE_BINARY:
+ System.out.printf("\tERROR: Expected at least two operands\n");
+ break;
+ case EK_PARSE_UNOPERAND:
+ System.out.printf("\tERROR: Operator %s expected more operands than provided\n", args[0]);
+ break;
+ case EK_PARSE_INVTOKEN:
+ System.out.printf("\tERROR: Unrecognized token type in parsing: %s\n", args[0]);
+ break;
+ case EK_SHUNT_NOTADV:
+ System.out.printf("\tERROR: Unary operator %s is an adjective, not an adverb. It can't be"
+ + " applied to the operator %s\n", args[0], args[1]);
+ break;
+ case EK_SHUNT_NOTADJ:
+ System.out.printf("\tERROR: Unary operator %s is an adjective, not an adverb. It can't be"
+ + " applied to the operator %s\n", args[0], args[1]);
+ break;
+ case EK_SHUNT_NOOP:
+ System.out.printf("\tERROR: Unary operator %s is an adverb, but there is no operator"
+ + " to apply it to\n", args[0]);
+ break;
+ case EK_SHUNT_NOGROUP:
+ System.out.printf("\tERROR: Couldn't find matching grouping %s (expected %s)\n",
+ args[0], args[1]);
+ break;
+ case EK_SHUNT_INVSEP:
+ System.out.printf("\tERROR: Couldn't find grouper for group seperator to attach to\n");
+ break;
+ case EK_STRM_NONEX:
+ System.out.printf("\tERROR: Attempted to switch to non-existent stream\n");
+ break;
+ case EK_STRM_LAST:
+ System.out.printf("\tERROR: Cannot delete last stream\n");
+ break;
+ case EK_STRM_INVCOM:
+ System.out.printf("\tERROR: Unknown stream control command %s\n", args[0]);
+ break;
+ default:
+ System.out.printf("\tERROR ERROR: Unknown error key %s\n", key);
}
}
diff --git a/dice-lang/src/bjc/dicelang/StreamEngine.java b/dice-lang/src/bjc/dicelang/StreamEngine.java
index 2971392..5debe00 100644
--- a/dice-lang/src/bjc/dicelang/StreamEngine.java
+++ b/dice-lang/src/bjc/dicelang/StreamEngine.java
@@ -8,37 +8,93 @@ import static bjc.dicelang.Errors.ErrorKey.*;
import bjc.utils.esodata.SingleTape;
import bjc.utils.esodata.Tape;
-
+import bjc.utils.esodata.TapeLibrary;
+
+/**
+ * Implements multiple interleaved parse streams, as well as a command language
+ * for the streams.
+ *
+ * The idea for the interleaved streams came from the language Oozylbub &amp;
+ * Murphy, but the command language was my own idea.
+ *
+ * @author Ben Culkin
+ */
public class StreamEngine {
+ /*
+ * The engine we're attached to.
+ */
private DiceLangEngine eng;
+ /*
+ * Our streams.
+ */
private Tape<IList<String>> streams;
private IList<String> currStream;
+ /*
+ * Saved streams
+ */
+ private TapeLibrary<IList<String>> savedStreams;
+
+ /**
+ * Create a new stream engine.
+ *
+ * @param engine The dice engine we're attached to.
+ */
public StreamEngine(DiceLangEngine engine) {
eng = engine;
+
+ savedStreams = new TapeLibrary<>();
}
private void init() {
+ /*
+ * Reinitialize our list of streams.
+ */
streams = new SingleTape<>();
+ /*
+ * Create an initial stream.
+ */
currStream = new FunctionalList<>();
streams.insertBefore(currStream);
}
+ /**
+ * Process a possibly interleaved set of streams from toks into dest.
+ *
+ * @param toks The raw token to read streams from.
+ * @param dest The list to write the final stream to.
+ *
+ * @return Whether or not the streams were successfully processed.
+ */
public boolean doStreams(String[] toks, IList<String> dest) {
+ /*
+ * Initialize per-run state.
+ */
init();
+ /*
+ * Are we currently quoting things?
+ */
boolean quoteMode = false;
+ /*
+ * Process each token.
+ */
for(String tk : toks) {
+ /*
+ * Process stream commands.
+ */
if(tk.startsWith("{@S") && !quoteMode) {
if(tk.equals("{@SQ}")) {
quoteMode = true;
} else if(!processCommand(tk)) {
return false;
}
- // Command ran correctly, continue
+ /*
+ * Command ran correctly, continue
+ */
} else {
if(tk.equals("{@SU}")) {
quoteMode = false;
@@ -69,47 +125,47 @@ public class StreamEngine {
for(char comm : comms) {
switch(comm) {
- case '+':
- streams.insertAfter(new FunctionalList<>());
- break;
- case '>':
- if(!streams.right()) {
- Errors.inst.printError(EK_STRM_NONEX);
- return false;
- }
+ case '+':
+ streams.insertAfter(new FunctionalList<>());
+ break;
+ case '>':
+ if(!streams.right()) {
+ Errors.inst.printError(EK_STRM_NONEX);
+ return false;
+ }
- currStream = streams.item();
- break;
- case '<':
- if(!streams.left()) {
- Errors.inst.printError(EK_STRM_NONEX);
- return false;
- }
+ currStream = streams.item();
+ break;
+ case '<':
+ if(!streams.left()) {
+ Errors.inst.printError(EK_STRM_NONEX);
+ return false;
+ }
+ currStream = streams.item();
+ break;
+ case '-':
+ if(streams.size() == 1) {
+ Errors.inst.printError(EK_STRM_LAST);
+ return false;
+ } else {
+ streams.remove();
currStream = streams.item();
- break;
- case '-':
- if(streams.size() == 1) {
- Errors.inst.printError(EK_STRM_LAST);
- return false;
- } else {
- streams.remove();
- currStream = streams.item();
- }
- break;
- case 'S':
- if(streams.size() == 1) {
- Errors.inst.printError(EK_STRM_LAST);
- return false;
- } else {
- IList<String> stringLit = streams.remove();
- currStream = streams.item();
- currStream.add(ListUtils.collapseTokens(stringLit, " "));
- }
- break;
- default:
- Errors.inst.printError(EK_STRM_INVCOM, tk);
+ }
+ break;
+ case 'S':
+ if(streams.size() == 1) {
+ Errors.inst.printError(EK_STRM_LAST);
return false;
+ } else {
+ IList<String> stringLit = streams.remove();
+ currStream = streams.item();
+ currStream.add(ListUtils.collapseTokens(stringLit, " "));
+ }
+ break;
+ default:
+ Errors.inst.printError(EK_STRM_INVCOM, tk);
+ return false;
}
}
diff --git a/dice-lang/src/bjc/dicelang/dice/CompoundDie.java b/dice-lang/src/bjc/dicelang/dice/CompoundDie.java
index 16aec76..a20095a 100644
--- a/dice-lang/src/bjc/dicelang/dice/CompoundDie.java
+++ b/dice-lang/src/bjc/dicelang/dice/CompoundDie.java
@@ -1,31 +1,53 @@
package bjc.dicelang.dice;
+/**
+ * A die whose rolls result from concatenating two other rolls together.
+ *
+ * @author Ben Culkin
+ */
public class CompoundDie implements Die {
+ /*
+ * The dice that form this die
+ */
private Die left;
private Die right;
+ /**
+ * Create a new compound die.
+ *
+ * @param lft The left die
+ * @param rght The right die
+ */
public CompoundDie(Die lft, Die rght) {
left = lft;
right = rght;
}
+ @Override
public boolean canOptimize() {
return left.canOptimize() && right.canOptimize();
}
+ @Override
public long optimize() {
return Long.parseLong(left.optimize() + "" + right.optimize());
}
+ @Override
public long roll() {
return Long.parseLong(left.roll() + "" + right.roll());
}
+ @Override
public long rollSingle() {
+ /*
+ * We're only one die, we can't be split
+ */
return roll();
}
+ @Override
public String toString() {
return left.toString() + "c" + right.toString();
}
-} \ No newline at end of file
+}
diff --git a/dice-lang/src/bjc/dicelang/dice/CompoundingDie.java b/dice-lang/src/bjc/dicelang/dice/CompoundingDie.java
index 9744650..3291b52 100644
--- a/dice-lang/src/bjc/dicelang/dice/CompoundingDie.java
+++ b/dice-lang/src/bjc/dicelang/dice/CompoundingDie.java
@@ -2,16 +2,37 @@ package bjc.dicelang.dice;
import java.util.function.Predicate;
+/**
+ * Implements a compounding die.
+ *
+ * This means that the source will be rolled, and then more single rolls will be
+ * added while it meets a qualification.
+ *
+ * @author Ben Culkin
+ */
public class CompoundingDie implements Die {
private Die source;
private Predicate<Long> compoundOn;
private String compoundPattern;
+ /**
+ * Create a new compounding die with no pattern.
+ *
+ * @param src The die to compound from
+ * @param compound The conditions to compound on
+ */
public CompoundingDie(Die src, Predicate<Long> compound) {
this(src, compound, null);
}
+ /**
+ * Create a new compounding die with a specified pattern.
+ *
+ * @param src The die to compound from
+ * @param compound The conditions to compound on
+ * @param patt The string pattern the condition came from, for printing
+ */
public CompoundingDie(Die src, Predicate<Long> compound, String patt) {
source = src;
@@ -19,14 +40,17 @@ public class CompoundingDie implements Die {
compoundPattern = patt;
}
+ @Override
public boolean canOptimize() {
return source.canOptimize() && source.optimize() == 0;
}
+ @Override
public long optimize() {
return 0;
}
+ @Override
public long roll() {
long res = source.roll();
long oldRes = res;
@@ -40,7 +64,11 @@ public class CompoundingDie implements Die {
return res;
}
+ @Override
public long rollSingle() {
+ /*
+ * Just compound on a single roll
+ */
long res = source.rollSingle();
long oldRes = res;
@@ -53,6 +81,7 @@ public class CompoundingDie implements Die {
return res;
}
+ @Override
public String toString() {
if(compoundPattern == null) {
return source + "!!";
@@ -60,4 +89,4 @@ public class CompoundingDie implements Die {
return source + "!!" + compoundPattern;
}
}
-} \ No newline at end of file
+}
diff --git a/dice-lang/src/bjc/dicelang/dice/DiceBox.java b/dice-lang/src/bjc/dicelang/dice/DiceBox.java
index 4c0641a..92e58af 100644
--- a/dice-lang/src/bjc/dicelang/dice/DiceBox.java
+++ b/dice-lang/src/bjc/dicelang/dice/DiceBox.java
@@ -4,21 +4,43 @@ import java.util.Random;
import java.util.function.Predicate;
import java.util.regex.Pattern;
+/**
+ * Contains static methods for producing dice from strings.
+ *
+ * @author Ben Culkin
+ */
public class DiceBox {
static final Random rng = new Random();
+ /**
+ * Parse a die expression from a string.
+ *
+ * @return The die expression from the string, or null if it wasn't one
+ */
public static DieExpression parseExpression(String exp) {
+ /*
+ * Only bother will valid expressions
+ */
if(!isValidExpression(exp)) return null;
if(scalarDiePattern.matcher(exp).matches()) {
+ /*
+ * Parse scalar die
+ */
Die scal = new ScalarDie(Long.parseLong(exp.substring(0, exp.indexOf('s'))));
return new DieExpression(scal);
} else if(simpleDiePattern.matcher(exp).matches()) {
+ /*
+ * Parse simple die groups
+ */
String[] dieParts = exp.split("d");
long right = Long.parseLong(dieParts[1]);
if(dieParts[0].equals("")) {
+ /*
+ * Handle short-form expressions.
+ */
Die scal = new SimpleDie(1, right);
return new DieExpression(scal);
} else {
@@ -26,10 +48,16 @@ public class DiceBox {
return new DieExpression(scal);
}
} else if(fudgeDiePattern.matcher(exp).matches()) {
+ /*
+ * Parse fudge dice
+ */
String nDice = exp.substring(0, exp.indexOf('d'));
return new DieExpression(new FudgeDie(Long.parseLong(nDice)));
} else if(compoundDiePattern.matcher(exp).matches()) {
+ /*
+ * Parse compound die expressions
+ */
String[] dieParts = exp.split("c");
DieExpression left = parseExpression(dieParts[0]);
@@ -37,6 +65,9 @@ public class DiceBox {
return new DieExpression(new CompoundDie(left.scalar, right.scalar));
} else if(compoundingDiePattern.matcher(exp).matches()) {
+ /*
+ * Parse compounding die expressions
+ */
String[] dieParts = exp.split("!!");
DieExpression left = parseExpression(dieParts[0]);
@@ -45,6 +76,9 @@ public class DiceBox {
Die scal = new CompoundingDie(left.scalar, right, dieParts[1]);
return new DieExpression(scal);
} else if(explodingDiePattern.matcher(exp).matches()) {
+ /*
+ * Parse exploding die expressions
+ */
String[] dieParts = exp.split("!");
DieExpression left = parseExpression(dieParts[0]);
@@ -53,6 +87,9 @@ public class DiceBox {
DieList lst = new ExplodingDice(left.scalar, right, dieParts[1], false);
return new DieExpression(lst);
} else if(penetratingDiePattern.matcher(exp).matches()) {
+ /*
+ * Parse penetrating die expressions
+ */
String[] dieParts = exp.split("p!");
DieExpression left = parseExpression(dieParts[0]);
@@ -61,6 +98,9 @@ public class DiceBox {
DieList lst = new ExplodingDice(left.scalar, right, dieParts[1], true);
return new DieExpression(lst);
} else if(diceListPattern.matcher(exp).matches()) {
+ /*
+ * Parse simple die lists
+ */
String[] dieParts = exp.split("dl");
DieExpression left = parseExpression(dieParts[0]);
@@ -70,39 +110,101 @@ public class DiceBox {
return new DieExpression(lst);
}
- // @TODO give a specific error message
return null;
}
+ /*
+ * The strings and patterns used for matching
+ */
+
+ /*
+ * Defines a comparison predicate
+ */
private static final String comparePoint = "[<>=]\\d+";
+ /*
+ * Defines a scalar die.
+ *
+ * This is just a number.
+ */
private static final String scalarDie = "[\\+\\-]?\\d+sd";
private static final Pattern scalarDiePattern = Pattern.compile("\\A" + scalarDie + "\\Z");
+ /*
+ * Defines a simple die.
+ *
+ * This is a group of one or more dice of the same size.
+ */
private static final String simpleDie = "(?:\\d+)?d\\d+";
private static final Pattern simpleDiePattern = Pattern.compile("\\A" + simpleDie + "\\Z");
+ /*
+ * Defines a fudge die.
+ *
+ * This is like a simple die, but all the die give -1, 0, or 1 as
+ * results.
+ */
private static final String fudgeDie = "(?:\\d+)?dF";
private static final Pattern fudgeDiePattern = Pattern.compile("\\A" + fudgeDie + "\\Z");
+ /*
+ * Defines a compound die.
+ *
+ * This is like using two d10's to simulate a d100
+ */
private static final String compoundDie = simpleDie + "c(?:(?:" + simpleDie + ")|(?:\\d+))";
private static final Pattern compoundDiePattern = Pattern.compile("\\A" + compoundDie + "\\Z");
+ /*
+ * Defines a compound group.
+ *
+ * This is used for forming die list type expressions.
+ */
private static final String compoundGroup = "(?:(?:" + scalarDie + ")|(?:" + simpleDie + ")|(?:"
+ compoundDie + ")|(?:" + fudgeDie +"))";
+ /*
+ * Defines a compounding die.
+ *
+ * This is like an exploding die, but is a single die, not a group of
+ * them.
+ */
private static final String compoundingDie = compoundGroup + "!!" + comparePoint;
private static final Pattern compoundingDiePattern = Pattern.compile("\\A" + compoundingDie + "\\Z");
+ /*
+ * Defines an exploding die.
+ *
+ * This is a die that you reroll the component of if it meets a certain
+ * condition.
+ */
private static final String explodingDie = compoundGroup + "!" + comparePoint;
private static final Pattern explodingDiePattern = Pattern.compile("\\A" + explodingDie + "\\Z");
+ /*
+ * Defines a penetrating die.
+ *
+ * This is like an exploding die, but the exploded result gets a -1
+ * penalty.
+ */
private static final String penetratingDie = compoundGroup + "!" + comparePoint;
private static final Pattern penetratingDiePattern = Pattern.compile("\\A" + penetratingDie + "\\Z");
+ /*
+ * Defines a die list.
+ *
+ * This is an array of dice of the specified size
+ */
private static final String diceList = compoundGroup + "dl" + compoundGroup;
private static final Pattern diceListPattern = Pattern.compile("\\A" + diceList + "\\Z");
+ /**
+ * Check if a given string is a valid die expression.
+ *
+ * @param exp The string to check validity of.
+ *
+ * @return Whether or not the string is a valid command
+ */
public static boolean isValidExpression(String exp) {
if(scalarDiePattern.matcher(exp).matches()) {
return true;
@@ -125,6 +227,9 @@ public class DiceBox {
}
}
+ /*
+ * Derive a predicate from a compare point
+ */
private static Predicate<Long> deriveCond(String patt) {
long num = Long.parseLong(patt.substring(1));
diff --git a/dice-lang/src/bjc/dicelang/dice/Die.java b/dice-lang/src/bjc/dicelang/dice/Die.java
index 9f839ed..22ba522 100644
--- a/dice-lang/src/bjc/dicelang/dice/Die.java
+++ b/dice-lang/src/bjc/dicelang/dice/Die.java
@@ -1,9 +1,37 @@
package bjc.dicelang.dice;
+/**
+ * Represents one or more dice that produce a scalar result.
+ *
+ * @author Ben Culkin
+ */
public interface Die {
+ /**
+ * Can this die be optimized to a single number?
+ *
+ * @return Whether this die can be optimized or not.
+ */
boolean canOptimize();
+ /**
+ * Optimize this die to a single number.
+ *
+ * Calling optimize on dice that return false for canOptimize produces
+ * undefined behavior
+ *
+ * @return The optimized form of this die
+ */
long optimize();
+ /**
+ * Roll this die.
+ *
+ * @return A possible roll of this die
+ */
long roll();
+ /**
+ * Roll only a single portion of this die.
+ *
+ * @return A possible roll of a single portion of this die.
+ */
long rollSingle();
-} \ No newline at end of file
+}
diff --git a/dice-lang/src/bjc/dicelang/dice/DieExpression.java b/dice-lang/src/bjc/dicelang/dice/DieExpression.java
index 3bf121b..81d0b7d 100644
--- a/dice-lang/src/bjc/dicelang/dice/DieExpression.java
+++ b/dice-lang/src/bjc/dicelang/dice/DieExpression.java
@@ -2,29 +2,57 @@ package bjc.dicelang.dice;
import java.util.Arrays;
+/**
+ * Represents either a die or a die list
+ *
+ * @author Ben Culkin
+ */
public class DieExpression {
+ /**
+ * Is this expression a list?
+ */
public final boolean isList;
+ /**
+ * The scalar value in this expression, if there is one.
+ */
public Die scalar;
+ /**
+ * The list value in this expression, if there is one.
+ */
public DieList list;
+ /**
+ * Create a scalar die expression.
+ *
+ * @param scal The scalar value of this expression.
+ */
public DieExpression(Die scal) {
isList = false;
scalar = scal;
}
+ /**
+ * Create a list die expression.
+ *
+ * @param lst The list value of this expression.
+ */
public DieExpression(DieList lst) {
isList = true;
list = lst;
}
+ @Override
public String toString() {
if(isList) return list.toString();
else return scalar.toString();
}
+ /**
+ * Get the value of this expression as a string.
+ */
public String value() {
if(isList) return Arrays.toString(list.roll());
else return Long.toString(scalar.roll());
}
-} \ No newline at end of file
+}
diff --git a/dice-lang/src/bjc/dicelang/dice/DieList.java b/dice-lang/src/bjc/dicelang/dice/DieList.java
index a55f2b9..5454759 100644
--- a/dice-lang/src/bjc/dicelang/dice/DieList.java
+++ b/dice-lang/src/bjc/dicelang/dice/DieList.java
@@ -1,8 +1,30 @@
package bjc.dicelang.dice;
+/**
+ * Represents a group of dice.
+ *
+ * @author Ben Culkin.
+ */
public interface DieList {
+ /**
+ * Can this list be optimized?
+ *
+ * @return Whether or not this list cna be optimized.
+ */
boolean canOptimize();
+ /**
+ * Optimize this list, if it can be done.
+ *
+ * Invoking this on unoptimizable expression is undefined.
+ *
+ * @return The optimized form of this list.
+ */
long[] optimize();
+ /**
+ * Roll this group of dice.
+ *
+ * @param A possible roll of this group.
+ */
long[] roll();
-} \ No newline at end of file
+}
diff --git a/dice-lang/src/bjc/dicelang/dice/ExplodingDice.java b/dice-lang/src/bjc/dicelang/dice/ExplodingDice.java
index 6ab9902..59e739e 100644
--- a/dice-lang/src/bjc/dicelang/dice/ExplodingDice.java
+++ b/dice-lang/src/bjc/dicelang/dice/ExplodingDice.java
@@ -4,21 +4,58 @@ import java.util.LinkedList;
import java.util.List;
import java.util.function.Predicate;
+/**
+ * An exploding die.
+ *
+ * Represents a die list that keeps getting another added die as long as a
+ * condition is met.
+ *
+ * @author Ben Culkin
+ */
public class ExplodingDice implements DieList {
+ /*
+ * The source die to use.
+ */
private Die source;
+ /*
+ * The conditions for exploding.
+ */
private Predicate<Long> explodeOn;
private String explodePattern;
private boolean explodePenetrates;
+ /**
+ * Create a new exploding die.
+ *
+ * @param src The source die for exploding.
+ * @param explode The condition to explode on.
+ */
public ExplodingDice(Die src, Predicate<Long> explode) {
this(src, explode, null, false);
}
+ /**
+ * Create a new exploding die that may penetrate.
+ *
+ * @param src The source die for exploding.
+ * @param explode The condition to explode on.
+ * @param penetrate Whether or not for explosions to penetrate (-1 to
+ * exploded die).
+ */
public ExplodingDice(Die src, Predicate<Long> explode, boolean penetrate) {
this(src, explode, null, penetrate);
}
+ /**
+ * Create a new exploding die that may penetrate.
+ *
+ * @param src The source die for exploding.
+ * @param explode The condition to explode on.
+ * @param penetrate Whether or not for explosions to penetrate (-1 to
+ * exploded die).
+ * @param patt The string the condition came from, for printing.
+ */
public ExplodingDice(Die src, Predicate<Long> explode, String patt,
boolean penetrate) {
source = src;
@@ -27,14 +64,17 @@ public class ExplodingDice implements DieList {
explodePenetrates = penetrate;
}
+ @Override
public boolean canOptimize() {
return false;
}
+ @Override
public long[] optimize() {
return new long[0];
}
+ @Override
public long[] roll() {
long res = source.roll();
long oldRes = res;
@@ -60,6 +100,7 @@ public class ExplodingDice implements DieList {
return newRes;
}
+ @Override
public String toString() {
if(explodePattern == null) {
return source + (explodePenetrates ? "p" : "") + "!";
@@ -67,4 +108,4 @@ public class ExplodingDice implements DieList {
return source + (explodePenetrates ? "p" : "") + "!" + explodePattern;
}
}
-} \ No newline at end of file
+}
diff --git a/dice-lang/tags b/dice-lang/tags
index 16016c1..9937e09 100644
--- a/dice-lang/tags
+++ b/dice-lang/tags
@@ -4,670 +4,744 @@
!_TAG_PROGRAM_NAME Exuberant Ctags //
!_TAG_PROGRAM_URL http://ctags.sourceforge.net /official site/
!_TAG_PROGRAM_VERSION 5.9~svn20110310 //
-ADD src/bjc/dicelang/DiceExpressionType.java /^ ADD,$/;" e enum:DiceExpressionType file:
-ADD src/bjc/dicelang/ast/nodes/OperatorDiceNode.java /^ ADD(MATH),$/;" e enum:OperatorDiceNode file:
-ADD src/bjc/dicelang/v2/Token.java /^ ADD, SUBTRACT,$/;" e enum:Token.Type file:
-ARRAY src/bjc/dicelang/ast/ResultType.java /^ ARRAY,$/;" e enum:ResultType file:
-ARRAY src/bjc/dicelang/ast/nodes/DiceOperatorType.java /^ ARRAY,$/;" e enum:DiceOperatorType file:
-ARRAY src/bjc/dicelang/ast/nodes/OperatorDiceNode.java /^ ARRAY(DiceOperatorType.ARRAY),$/;" e enum:OperatorDiceNode file:
-ARRAY src/bjc/dicelang/v2/Node.java /^ ARRAY, CODE$/;" e enum:Node.GroupType file:
-ASSIGN src/bjc/dicelang/ast/nodes/OperatorDiceNode.java /^ ASSIGN(EXPRESSION),$/;" e enum:OperatorDiceNode file:
-ArithmeticCollapser src/bjc/dicelang/ast/ArithmeticCollapser.java /^ public ArithmeticCollapser(OperatorDiceNode type,$/;" m class:ArithmeticCollapser
-ArithmeticCollapser src/bjc/dicelang/ast/ArithmeticCollapser.java /^final class ArithmeticCollapser implements IOperatorCollapser {$/;" c
-ArithmeticCollapser src/bjc/dicelang/ast/optimization/ArithmeticCollapser.java /^ public ArithmeticCollapser(BinaryOperator<Integer> reducr,$/;" m class:ArithmeticCollapser
-ArithmeticCollapser src/bjc/dicelang/ast/optimization/ArithmeticCollapser.java /^class ArithmeticCollapser {$/;" c
-ArrayResult src/bjc/dicelang/ast/ArrayResult.java /^ public ArrayResult(IList<IResult> results) {$/;" m class:ArrayResult
-ArrayResult src/bjc/dicelang/ast/ArrayResult.java /^public class ArrayResult implements IResult {$/;" c
-BIND src/bjc/dicelang/v2/Token.java /^ LET, BIND,$/;" e enum:Token.Type file:
-BINOP src/bjc/dicelang/v2/Node.java /^ UNARYOP, BINOP,$/;" e enum:Node.Type file:
-BindingDiceExpression src/bjc/dicelang/BindingDiceExpression.java /^ public BindingDiceExpression(IDiceExpression left,$/;" m class:BindingDiceExpression
-BindingDiceExpression src/bjc/dicelang/BindingDiceExpression.java /^ public BindingDiceExpression(String name, IDiceExpression expression,$/;" m class:BindingDiceExpression
-BindingDiceExpression src/bjc/dicelang/BindingDiceExpression.java /^public class BindingDiceExpression implements IDiceExpression {$/;" c
-CBRACE src/bjc/dicelang/v2/Token.java /^ OBRACE, CBRACE,$/;" e enum:Token.Type file:
-CBRACKET src/bjc/dicelang/v2/Token.java /^ OBRACKET, CBRACKET,$/;" e enum:Token.Type file:
-CODE src/bjc/dicelang/v2/Node.java /^ ARRAY, CODE$/;" e enum:Node.GroupType file:
-COMPOUND src/bjc/dicelang/ast/nodes/OperatorDiceNode.java /^ COMPOUND(DICE),$/;" e enum:OperatorDiceNode file:
-CPAREN src/bjc/dicelang/v2/Token.java /^ OPAREN, CPAREN,$/;" e enum:Token.Type file:
-ComplexDice src/bjc/dicelang/ComplexDice.java /^ public ComplexDice(IDiceExpression nDce, IDiceExpression de) {$/;" m class:ComplexDice
-ComplexDice src/bjc/dicelang/ComplexDice.java /^ public ComplexDice(int nSides, int de) {$/;" m class:ComplexDice
-ComplexDice src/bjc/dicelang/ComplexDice.java /^public class ComplexDice implements IDiceExpression {$/;" c
-CompoundDice src/bjc/dicelang/CompoundDice.java /^ public CompoundDice(IDiceExpression lft, IDiceExpression rght) {$/;" m class:CompoundDice
-CompoundDice src/bjc/dicelang/CompoundDice.java /^ public CompoundDice(String lft, String rght) {$/;" m class:CompoundDice
-CompoundDice src/bjc/dicelang/CompoundDice.java /^ public CompoundDice(String[] exps) {$/;" m class:CompoundDice
-CompoundDice src/bjc/dicelang/CompoundDice.java /^public class CompoundDice implements IDiceExpression {$/;" c
-CompoundDie src/bjc/dicelang/v2/DiceBox.java /^ public CompoundDie(Die lft, Die rght) {$/;" m class:DiceBox.CompoundDie
-CompoundDie src/bjc/dicelang/v2/DiceBox.java /^ public static class CompoundDie implements Die {$/;" c class:DiceBox
-ConstantCollapser src/bjc/dicelang/ast/optimization/ConstantCollapser.java /^public class ConstantCollapser implements IOptimizationPass {$/;" c
-DEV src/bjc/dicelang/v2/Errors.java /^ WIZARD, DEV$/;" e enum:Errors.ErrorMode file:
-DICE src/bjc/dicelang/ast/nodes/DiceLiteralType.java /^ DICE;$/;" e enum:DiceLiteralType file:
-DICE src/bjc/dicelang/ast/nodes/DiceOperatorType.java /^ DICE,$/;" e enum:DiceOperatorType file:
-DICE src/bjc/dicelang/v2/Evaluator.java /^ INT, FLOAT, DICE, STRING$/;" e enum:Evaluator.Result.Type file:
-DICECONCAT src/bjc/dicelang/v2/Token.java /^ DICE_LIT, DICEGROUP, DICECONCAT, DICELIST,$/;" e enum:Token.Type file:
-DICEGROUP src/bjc/dicelang/v2/Token.java /^ DICE_LIT, DICEGROUP, DICECONCAT, DICELIST,$/;" e enum:Token.Type file:
-DICELIST src/bjc/dicelang/v2/Token.java /^ DICE_LIT, DICEGROUP, DICECONCAT, DICELIST,$/;" e enum:Token.Type file:
-DICE_LIT src/bjc/dicelang/v2/Token.java /^ DICE_LIT, DICEGROUP, DICECONCAT, DICELIST,$/;" e enum:Token.Type file:
-DICE_PREC src/bjc/dicelang/examples/DiceExpressionPreparer.java /^ private static final int DICE_PREC = 10;$/;" f class:DiceExpressionPreparer file:
-DICE_PREC src/bjc/dicelang/v2/DiceLangEngine.java /^ private final int DICE_PREC = 10;$/;" f class:DiceLangEngine file:
-DICE_PREC src/bjc/dicelang/v2/Shunter.java /^ private final int DICE_PREC = 10;$/;" f class:Shunter file:
-DIVIDE src/bjc/dicelang/DiceExpressionType.java /^ DIVIDE,$/;" e enum:DiceExpressionType file:
-DIVIDE src/bjc/dicelang/ast/nodes/OperatorDiceNode.java /^ DIVIDE(MATH),$/;" e enum:OperatorDiceNode file:
-DIVIDE src/bjc/dicelang/v2/Token.java /^ DIVIDE, IDIVIDE,$/;" e enum:Token.Type file:
-DUMMY src/bjc/dicelang/ast/ResultType.java /^ DUMMY$/;" e enum:ResultType file:
-Define src/bjc/dicelang/v2/Define.java /^ public Define(int priorty,$/;" m class:Define
-Define src/bjc/dicelang/v2/Define.java /^public class Define implements UnaryOperator<String> {$/;" c
-DiceASTEvaluator src/bjc/dicelang/ast/DiceASTEvaluator.java /^public class DiceASTEvaluator {$/;" c
-DiceASTInliner src/bjc/dicelang/ast/DiceASTInliner.java /^public class DiceASTInliner {$/;" c
-DiceASTLanguageTest src/bjc/dicelang/examples/DiceASTLanguageTest.java /^public class DiceASTLanguageTest {$/;" c
-DiceASTOptimizer src/bjc/dicelang/ast/DiceASTOptimizer.java /^ public DiceASTOptimizer() {$/;" m class:DiceASTOptimizer
-DiceASTOptimizer src/bjc/dicelang/ast/DiceASTOptimizer.java /^public class DiceASTOptimizer {$/;" c
-DiceASTParser src/bjc/dicelang/ast/DiceASTParser.java /^public class DiceASTParser {$/;" c
-DiceASTPragma src/bjc/dicelang/examples/DiceASTPragma.java /^public interface DiceASTPragma extends$/;" i
-DiceASTReferenceChecker src/bjc/dicelang/ast/DiceASTReferenceChecker.java /^ public DiceASTReferenceChecker(IHolder<Boolean> referencesVar,$/;" m class:DiceASTReferenceChecker
-DiceASTReferenceChecker src/bjc/dicelang/ast/DiceASTReferenceChecker.java /^public final class DiceASTReferenceChecker$/;" c
-DiceASTReferenceSanitizer src/bjc/dicelang/ast/DiceASTReferenceSanitizer.java /^public class DiceASTReferenceSanitizer {$/;" c
-DiceASTType src/bjc/dicelang/ast/nodes/DiceASTType.java /^public enum DiceASTType {$/;" g
-DiceASTUtils src/bjc/dicelang/ast/DiceASTUtils.java /^public class DiceASTUtils {$/;" c
-DiceBox src/bjc/dicelang/v2/DiceBox.java /^public class DiceBox {$/;" c
-DiceExpressionBuilder src/bjc/dicelang/DiceExpressionBuilder.java /^ public DiceExpressionBuilder(IDiceExpression seed) {$/;" m class:DiceExpressionBuilder
-DiceExpressionBuilder src/bjc/dicelang/DiceExpressionBuilder.java /^ public DiceExpressionBuilder(int nSides, int nDice) {$/;" m class:DiceExpressionBuilder
-DiceExpressionBuilder src/bjc/dicelang/DiceExpressionBuilder.java /^public class DiceExpressionBuilder {$/;" c
-DiceExpressionParser src/bjc/dicelang/DiceExpressionParser.java /^public class DiceExpressionParser {$/;" c
-DiceExpressionParserTest src/bjc/dicelang/examples/DiceExpressionParserTest.java /^public class DiceExpressionParserTest {$/;" c
-DiceExpressionPreparer src/bjc/dicelang/examples/DiceExpressionPreparer.java /^public class DiceExpressionPreparer {$/;" c
-DiceExpressionType src/bjc/dicelang/DiceExpressionType.java /^public enum DiceExpressionType {$/;" g
-DiceLangConsole src/bjc/dicelang/v2/DiceLangConsole.java /^ public DiceLangConsole(String[] args) {$/;" m class:DiceLangConsole
-DiceLangConsole src/bjc/dicelang/v2/DiceLangConsole.java /^public class DiceLangConsole {$/;" c
-DiceLangEngine src/bjc/dicelang/v2/DiceLangEngine.java /^ public DiceLangEngine() {$/;" m class:DiceLangEngine
-DiceLangEngine src/bjc/dicelang/v2/DiceLangEngine.java /^public class DiceLangEngine {$/;" c
-DiceLanguageState src/bjc/dicelang/examples/DiceLanguageState.java /^ public DiceLanguageState() {$/;" m class:DiceLanguageState
-DiceLanguageState src/bjc/dicelang/examples/DiceLanguageState.java /^ public DiceLanguageState(DiceExpressionParser left,$/;" m class:DiceLanguageState
-DiceLanguageState src/bjc/dicelang/examples/DiceLanguageState.java /^public class DiceLanguageState$/;" c
-DiceLanguageTest src/bjc/dicelang/examples/DiceLanguageTest.java /^public class DiceLanguageTest {$/;" c
-DiceLiteralNode src/bjc/dicelang/ast/nodes/DiceLiteralNode.java /^ public DiceLiteralNode(IDiceExpression exp) {$/;" m class:DiceLiteralNode
-DiceLiteralNode src/bjc/dicelang/ast/nodes/DiceLiteralNode.java /^public class DiceLiteralNode implements ILiteralDiceNode {$/;" c
-DiceLiteralType src/bjc/dicelang/ast/nodes/DiceLiteralType.java /^public enum DiceLiteralType {$/;" g
-DiceOperatorType src/bjc/dicelang/ast/nodes/DiceOperatorType.java /^public enum DiceOperatorType {$/;" g
-Die src/bjc/dicelang/Die.java /^ public Die(int nSides) {$/;" m class:Die
-Die src/bjc/dicelang/Die.java /^public class Die implements IDiceExpression {$/;" c
-Die src/bjc/dicelang/v2/DiceBox.java /^ public interface Die {$/;" i class:DiceBox
-DieExpression src/bjc/dicelang/v2/DiceBox.java /^ public DieExpression(Die scal) {$/;" m class:DiceBox.DieExpression
-DieExpression src/bjc/dicelang/v2/DiceBox.java /^ public DieExpression(DieList lst) {$/;" m class:DiceBox.DieExpression
-DieExpression src/bjc/dicelang/v2/DiceBox.java /^ public static class DieExpression {$/;" c class:DiceBox
-DieList src/bjc/dicelang/v2/DiceBox.java /^ public interface DieList {$/;" i class:DiceBox
-Digits src/bjc/dicelang/v2/DoubleMatcher.java /^ private static final String Digits =$/;" f class:DoubleMatcher file:
-DoubleMatcher src/bjc/dicelang/v2/DoubleMatcher.java /^public class DoubleMatcher {$/;" c
-DummyResult src/bjc/dicelang/ast/DummyResult.java /^ public DummyResult(String data) {$/;" m class:DummyResult
-DummyResult src/bjc/dicelang/ast/DummyResult.java /^public class DummyResult implements IResult {$/;" c
-EK_CONS_INVDEFINE src/bjc/dicelang/v2/Errors.java /^ EK_CONS_INVDEFINE,$/;" e enum:Errors.ErrorKey file:
-EK_CONS_INVPRAG src/bjc/dicelang/v2/Errors.java /^ EK_CONS_INVPRAG,$/;" e enum:Errors.ErrorKey file:
-EK_DFN_PREDSYN src/bjc/dicelang/v2/Errors.java /^ EK_DFN_PREDSYN,$/;" e enum:Errors.ErrorKey file:
-EK_DFN_RECUR src/bjc/dicelang/v2/Errors.java /^ EK_DFN_RECUR,$/;" e enum:Errors.ErrorKey file:
-EK_DFN_SRCSYN src/bjc/dicelang/v2/Errors.java /^ EK_DFN_SRCSYN,$/;" e enum:Errors.ErrorKey file:
-EK_ENG_NOCLOSING src/bjc/dicelang/v2/Errors.java /^ EK_ENG_NOCLOSING,$/;" e enum:Errors.ErrorKey file:
-EK_ENG_NOOPENING src/bjc/dicelang/v2/Errors.java /^ EK_ENG_NOOPENING,$/;" e enum:Errors.ErrorKey file:
-EK_EVAL_DIVZERO src/bjc/dicelang/v2/Errors.java /^ EK_EVAL_DIVZERO,$/;" e enum:Errors.ErrorKey file:
-EK_EVAL_INVBIN src/bjc/dicelang/v2/Errors.java /^ EK_EVAL_INVBIN,$/;" e enum:Errors.ErrorKey file:
-EK_EVAL_INVDGROUP src/bjc/dicelang/v2/Errors.java /^ EK_EVAL_INVDGROUP,$/;" e enum:Errors.ErrorKey file:
-EK_EVAL_INVDICE src/bjc/dicelang/v2/Errors.java /^ EK_EVAL_INVDICE,$/;" e enum:Errors.ErrorKey file:
-EK_EVAL_INVNODE src/bjc/dicelang/v2/Errors.java /^ EK_EVAL_INVNODE,$/;" e enum:Errors.ErrorKey file:
-EK_EVAL_STRINGMATH src/bjc/dicelang/v2/Errors.java /^ EK_EVAL_STRINGMATH,$/;" e enum:Errors.ErrorKey file:
-EK_EVAL_UNBIN src/bjc/dicelang/v2/Errors.java /^ EK_EVAL_UNBIN,$/;" e enum:Errors.ErrorKey file:
-EK_EVAL_UNDICE src/bjc/dicelang/v2/Errors.java /^ EK_EVAL_UNDICE,$/;" e enum:Errors.ErrorKey file:
-EK_EVAL_UNMATH src/bjc/dicelang/v2/Errors.java /^ EK_EVAL_UNMATH,$/;" e enum:Errors.ErrorKey file:
-EK_EVAL_UNTOK src/bjc/dicelang/v2/Errors.java /^ EK_EVAL_UNTOK,$/;" e enum:Errors.ErrorKey file:
-EK_PARSE_BINARY src/bjc/dicelang/v2/Errors.java /^ EK_PARSE_BINARY,$/;" e enum:Errors.ErrorKey file:
-EK_PARSE_INVTOKEN src/bjc/dicelang/v2/Errors.java /^ EK_PARSE_INVTOKEN,$/;" e enum:Errors.ErrorKey file:
-EK_PARSE_NOCLOSE src/bjc/dicelang/v2/Errors.java /^ EK_PARSE_NOCLOSE,$/;" e enum:Errors.ErrorKey file:
-EK_PARSE_UNCLOSE src/bjc/dicelang/v2/Errors.java /^ EK_PARSE_UNCLOSE,$/;" e enum:Errors.ErrorKey file:
-EK_PARSE_UNOPERAND src/bjc/dicelang/v2/Errors.java /^ EK_PARSE_UNOPERAND,$/;" e enum:Errors.ErrorKey file:
-EK_SHUNT_INVSEP src/bjc/dicelang/v2/Errors.java /^ EK_SHUNT_INVSEP,$/;" e enum:Errors.ErrorKey file:
-EK_SHUNT_NOGROUP src/bjc/dicelang/v2/Errors.java /^ EK_SHUNT_NOGROUP,$/;" e enum:Errors.ErrorKey file:
-EK_SHUNT_NOOP src/bjc/dicelang/v2/Errors.java /^ EK_SHUNT_NOOP,$/;" e enum:Errors.ErrorKey file:
-EK_SHUNT_NOTADJ src/bjc/dicelang/v2/Errors.java /^ EK_SHUNT_NOTADJ,$/;" e enum:Errors.ErrorKey file:
-EK_SHUNT_NOTADV src/bjc/dicelang/v2/Errors.java /^ EK_SHUNT_NOTADV,$/;" e enum:Errors.ErrorKey file:
-EK_STRM_INVCOM src/bjc/dicelang/v2/Errors.java /^ EK_STRM_INVCOM,$/;" e enum:Errors.ErrorKey file:
-EK_STRM_LAST src/bjc/dicelang/v2/Errors.java /^ EK_STRM_LAST,$/;" e enum:Errors.ErrorKey file:
-EK_STRM_NONEX src/bjc/dicelang/v2/Errors.java /^ EK_STRM_NONEX,$/;" e enum:Errors.ErrorKey file:
-EK_TOK_INVBASE src/bjc/dicelang/v2/Errors.java /^ EK_TOK_INVBASE,$/;" e enum:Errors.ErrorKey file:
-EK_TOK_INVFLEX src/bjc/dicelang/v2/Errors.java /^ EK_TOK_INVFLEX,$/;" e enum:Errors.ErrorKey file:
-EK_TOK_UNGROUP src/bjc/dicelang/v2/Errors.java /^ EK_TOK_UNGROUP,$/;" e enum:Errors.ErrorKey file:
-EXPRESSION src/bjc/dicelang/ast/nodes/DiceOperatorType.java /^ EXPRESSION;$/;" e enum:DiceOperatorType file:
-EXPR_PREC src/bjc/dicelang/examples/DiceExpressionPreparer.java /^ private static final int EXPR_PREC = 0;$/;" f class:DiceExpressionPreparer file:
-EXPR_PREC src/bjc/dicelang/v2/DiceLangEngine.java /^ private final int EXPR_PREC = 0;$/;" f class:DiceLangEngine file:
-EXPR_PREC src/bjc/dicelang/v2/Shunter.java /^ private final int EXPR_PREC = 0;$/;" f class:Shunter file:
-ErrorKey src/bjc/dicelang/v2/Errors.java /^ public static enum ErrorKey {$/;" g class:Errors
-ErrorMode src/bjc/dicelang/v2/Errors.java /^ public static enum ErrorMode {$/;" g class:Errors
-Errors src/bjc/dicelang/v2/Errors.java /^public class Errors {$/;" c
-Evaluator src/bjc/dicelang/v2/Evaluator.java /^ public Evaluator(DiceLangEngine en) {$/;" m class:Evaluator
-Evaluator src/bjc/dicelang/v2/Evaluator.java /^public class Evaluator {$/;" c
-Exp src/bjc/dicelang/v2/DoubleMatcher.java /^ private static final String Exp =$/;" f class:DoubleMatcher file:
-ExplodingDice src/bjc/dicelang/v2/DiceBox.java /^ public ExplodingDice(Die src, Predicate<Long> explode) {$/;" m class:DiceBox.ExplodingDice
-ExplodingDice src/bjc/dicelang/v2/DiceBox.java /^ public ExplodingDice(Die src, Predicate<Long> explode, String patt, boolean penetrate) {$/;" m class:DiceBox.ExplodingDice
-ExplodingDice src/bjc/dicelang/v2/DiceBox.java /^ public ExplodingDice(Die src, Predicate<Long> explode, boolean penetrate) {$/;" m class:DiceBox.ExplodingDice
-ExplodingDice src/bjc/dicelang/v2/DiceBox.java /^ public ExplodingDice(Die src, String patt) {$/;" m class:DiceBox.ExplodingDice
-ExplodingDice src/bjc/dicelang/v2/DiceBox.java /^ public ExplodingDice(Die src, String patt, boolean penetrate) {$/;" m class:DiceBox.ExplodingDice
-ExplodingDice src/bjc/dicelang/v2/DiceBox.java /^ public class ExplodingDice implements DieList {$/;" c class:DiceBox
-FAIL src/bjc/dicelang/v2/Evaluator.java /^ private final static Node FAIL = new Node(Node.Type.RESULT, new Result(Result.Type.FAILURE));$/;" f class:Evaluator file:
-FAILURE src/bjc/dicelang/v2/Evaluator.java /^ FAILURE,$/;" e enum:Evaluator.Result.Type file:
-FLOAT src/bjc/dicelang/v2/Evaluator.java /^ INT, FLOAT, DICE, STRING$/;" e enum:Evaluator.Result.Type file:
-FLOAT_LIT src/bjc/dicelang/v2/Token.java /^ INT_LIT, FLOAT_LIT, STRING_LIT,$/;" e enum:Token.Type file:
-FudgeDie src/bjc/dicelang/v2/DiceBox.java /^ public FudgeDie(long nDice) {$/;" m class:DiceBox.FudgeDie
-FudgeDie src/bjc/dicelang/v2/DiceBox.java /^ public static class FudgeDie implements Die {$/;" c class:DiceBox
-GROUP src/bjc/dicelang/ast/nodes/OperatorDiceNode.java /^ GROUP(DICE),$/;" e enum:OperatorDiceNode file:
-GROUP src/bjc/dicelang/v2/Node.java /^ GROUP, OGROUP,$/;" e enum:Node.Type file:
-GROUPSEP src/bjc/dicelang/v2/Token.java /^ NIL, PRESHUNT, GROUPSEP,$/;" e enum:Token.Type file:
-GroupType src/bjc/dicelang/v2/Node.java /^ public static enum GroupType {$/;" g class:Node
-HexDigits src/bjc/dicelang/v2/DoubleMatcher.java /^ private static final String HexDigits =$/;" f class:DoubleMatcher file:
-IDIVIDE src/bjc/dicelang/v2/Token.java /^ DIVIDE, IDIVIDE,$/;" e enum:Token.Type file:
-IDiceASTNode src/bjc/dicelang/ast/nodes/IDiceASTNode.java /^public interface IDiceASTNode {$/;" i
-IDiceExpression src/bjc/dicelang/IDiceExpression.java /^public interface IDiceExpression {$/;" i
-ILiteralDiceNode src/bjc/dicelang/ast/nodes/ILiteralDiceNode.java /^public interface ILiteralDiceNode extends IDiceASTNode {$/;" i
-INT src/bjc/dicelang/v2/Evaluator.java /^ INT, FLOAT, DICE, STRING$/;" e enum:Evaluator.Result.Type file:
-INTEGER src/bjc/dicelang/ast/ResultType.java /^ INTEGER,$/;" e enum:ResultType file:
-INTEGER src/bjc/dicelang/ast/nodes/DiceLiteralType.java /^ INTEGER,$/;" e enum:DiceLiteralType file:
-INT_LIT src/bjc/dicelang/v2/Token.java /^ INT_LIT, FLOAT_LIT, STRING_LIT,$/;" e enum:Token.Type file:
-IOperatorCollapser src/bjc/dicelang/ast/IOperatorCollapser.java /^public interface IOperatorCollapser extends$/;" i
-IOptimizationPass src/bjc/dicelang/ast/optimization/IOptimizationPass.java /^public interface IOptimizationPass {$/;" i
-IResult src/bjc/dicelang/ast/IResult.java /^public interface IResult {$/;" i
-IntegerLiteralNode src/bjc/dicelang/ast/nodes/IntegerLiteralNode.java /^ public IntegerLiteralNode(int val) {$/;" m class:IntegerLiteralNode
-IntegerLiteralNode src/bjc/dicelang/ast/nodes/IntegerLiteralNode.java /^public class IntegerLiteralNode implements ILiteralDiceNode {$/;" c
-IntegerResult src/bjc/dicelang/ast/IntegerResult.java /^ public IntegerResult(int val) {$/;" m class:IntegerResult
-IntegerResult src/bjc/dicelang/ast/IntegerResult.java /^public class IntegerResult implements IResult {$/;" c
-LET src/bjc/dicelang/ast/nodes/OperatorDiceNode.java /^ LET(EXPRESSION);$/;" e enum:OperatorDiceNode file:
-LET src/bjc/dicelang/v2/Token.java /^ LET, BIND,$/;" e enum:Token.Type file:
-LINE src/bjc/dicelang/v2/Define.java /^ LINE, TOKEN$/;" e enum:Define.Type file:
-LITERAL src/bjc/dicelang/ast/nodes/DiceASTType.java /^ LITERAL,$/;" e enum:DiceASTType file:
-MATH src/bjc/dicelang/ast/nodes/DiceOperatorType.java /^ MATH,$/;" e enum:DiceOperatorType file:
-MATH_PREC src/bjc/dicelang/examples/DiceExpressionPreparer.java /^ private static final int MATH_PREC = 20;$/;" f class:DiceExpressionPreparer file:
-MATH_PREC src/bjc/dicelang/v2/DiceLangEngine.java /^ private final int MATH_PREC = 20;$/;" f class:DiceLangEngine file:
-MATH_PREC src/bjc/dicelang/v2/Shunter.java /^ private final int MATH_PREC = 20;$/;" f class:Shunter file:
-MAX_RECURS src/bjc/dicelang/v2/Define.java /^ public static final int MAX_RECURS = 10;$/;" f class:Define
-MULTIPLY src/bjc/dicelang/DiceExpressionType.java /^ MULTIPLY,$/;" e enum:DiceExpressionType file:
-MULTIPLY src/bjc/dicelang/ast/nodes/OperatorDiceNode.java /^ MULTIPLY(MATH),$/;" e enum:OperatorDiceNode file:
-MULTIPLY src/bjc/dicelang/v2/Token.java /^ MULTIPLY,$/;" e enum:Token.Type file:
-NIL src/bjc/dicelang/v2/Token.java /^ NIL, PRESHUNT, GROUPSEP,$/;" e enum:Token.Type file:
-NIL_TOKEN src/bjc/dicelang/v2/Token.java /^ public final static Token NIL_TOKEN = new Token(Type.NIL);$/;" f class:Token
-Node src/bjc/dicelang/v2/Node.java /^ public Node(Type typ) {$/;" m class:Node
-Node src/bjc/dicelang/v2/Node.java /^ public Node(Type typ, Evaluator.Result res) {$/;" m class:Node
-Node src/bjc/dicelang/v2/Node.java /^ public Node(Type typ, GroupType grupType) {$/;" m class:Node
-Node src/bjc/dicelang/v2/Node.java /^ public Node(Type typ, Token tokenVl) {$/;" m class:Node
-Node src/bjc/dicelang/v2/Node.java /^ public Node(Type typ, Token.Type opType) {$/;" m class:Node
-Node src/bjc/dicelang/v2/Node.java /^public class Node {$/;" c
-OBRACE src/bjc/dicelang/v2/Token.java /^ OBRACE, CBRACE,$/;" e enum:Token.Type file:
-OBRACKET src/bjc/dicelang/v2/Token.java /^ OBRACKET, CBRACKET,$/;" e enum:Token.Type file:
-OGROUP src/bjc/dicelang/v2/Node.java /^ GROUP, OGROUP,$/;" e enum:Node.Type file:
-OPAREN src/bjc/dicelang/v2/Token.java /^ OPAREN, CPAREN,$/;" e enum:Token.Type file:
-OPERATOR src/bjc/dicelang/ast/nodes/DiceASTType.java /^ OPERATOR,$/;" e enum:DiceASTType file:
-OperationCondenser src/bjc/dicelang/ast/optimization/OperationCondenser.java /^public class OperationCondenser {$/;" c
-OperatorDiceExpression src/bjc/dicelang/OperatorDiceExpression.java /^ public OperatorDiceExpression(IDiceExpression rght,$/;" m class:OperatorDiceExpression
-OperatorDiceExpression src/bjc/dicelang/OperatorDiceExpression.java /^public class OperatorDiceExpression implements IDiceExpression {$/;" c
-OperatorDiceNode src/bjc/dicelang/ast/nodes/OperatorDiceNode.java /^ private OperatorDiceNode(DiceOperatorType ty) {$/;" m class:OperatorDiceNode file:
-OperatorDiceNode src/bjc/dicelang/ast/nodes/OperatorDiceNode.java /^public enum OperatorDiceNode implements IDiceASTNode {$/;" g
-PRESHUNT src/bjc/dicelang/v2/Token.java /^ NIL, PRESHUNT, GROUPSEP,$/;" e enum:Token.Type file:
-Parser src/bjc/dicelang/v2/Parser.java /^ public Parser() {$/;" m class:Parser
-Parser src/bjc/dicelang/v2/Parser.java /^public class Parser {$/;" c
-PolyhedralDice src/bjc/dicelang/PolyhedralDice.java /^public class PolyhedralDice {$/;" c
-RESULT src/bjc/dicelang/v2/Node.java /^ RESULT$/;" e enum:Node.Type file:
-ROOT src/bjc/dicelang/v2/Node.java /^ ROOT, TOKREF,$/;" e enum:Node.Type file:
-ReferenceDiceExpression src/bjc/dicelang/ReferenceDiceExpression.java /^ public ReferenceDiceExpression(String nme,$/;" m class:ReferenceDiceExpression
-ReferenceDiceExpression src/bjc/dicelang/ReferenceDiceExpression.java /^public class ReferenceDiceExpression implements IDiceExpression {$/;" c
-Result src/bjc/dicelang/v2/Evaluator.java /^ public Result(Type typ) {$/;" m class:Evaluator.Result
-Result src/bjc/dicelang/v2/Evaluator.java /^ public Result(Type typ, DiceBox.Die dVal) {$/;" m class:Evaluator.Result
-Result src/bjc/dicelang/v2/Evaluator.java /^ public Result(Type typ, DiceBox.DieExpression dVal) {$/;" m class:Evaluator.Result
-Result src/bjc/dicelang/v2/Evaluator.java /^ public Result(Type typ, DiceBox.DieList dVal) {$/;" m class:Evaluator.Result
-Result src/bjc/dicelang/v2/Evaluator.java /^ public Result(Type typ, String strang) {$/;" m class:Evaluator.Result
-Result src/bjc/dicelang/v2/Evaluator.java /^ public Result(Type typ, double dVal) {$/;" m class:Evaluator.Result
-Result src/bjc/dicelang/v2/Evaluator.java /^ public Result(Type typ, long iVal) {$/;" m class:Evaluator.Result
-Result src/bjc/dicelang/v2/Evaluator.java /^ public static class Result {$/;" c class:Evaluator
-ResultType src/bjc/dicelang/ast/ResultType.java /^public enum ResultType {$/;" g
-STRING src/bjc/dicelang/v2/Evaluator.java /^ INT, FLOAT, DICE, STRING$/;" e enum:Evaluator.Result.Type file:
-STRING_LIT src/bjc/dicelang/v2/Token.java /^ INT_LIT, FLOAT_LIT, STRING_LIT,$/;" e enum:Token.Type file:
-SUBTRACT src/bjc/dicelang/DiceExpressionType.java /^ SUBTRACT;$/;" e enum:DiceExpressionType file:
-SUBTRACT src/bjc/dicelang/ast/nodes/OperatorDiceNode.java /^ SUBTRACT(MATH),$/;" e enum:OperatorDiceNode file:
-SUBTRACT src/bjc/dicelang/v2/Token.java /^ ADD, SUBTRACT,$/;" e enum:Token.Type file:
-ScalarDie src/bjc/dicelang/ScalarDie.java /^ public ScalarDie(int num) {$/;" m class:ScalarDie
-ScalarDie src/bjc/dicelang/ScalarDie.java /^public class ScalarDie implements IDiceExpression {$/;" c
-ScalarDie src/bjc/dicelang/v2/DiceBox.java /^ public ScalarDie(long vl) {$/;" m class:DiceBox.ScalarDie
-ScalarDie src/bjc/dicelang/v2/DiceBox.java /^ public static class ScalarDie implements Die {$/;" c class:DiceBox
-Shunter src/bjc/dicelang/v2/Shunter.java /^ public Shunter() {$/;" m class:Shunter
-Shunter src/bjc/dicelang/v2/Shunter.java /^public class Shunter {$/;" c
-SimpleDie src/bjc/dicelang/v2/DiceBox.java /^ public SimpleDie(Die nDice, Die size) {$/;" m class:DiceBox.SimpleDie
-SimpleDie src/bjc/dicelang/v2/DiceBox.java /^ public SimpleDie(Die nDice, long size) {$/;" m class:DiceBox.SimpleDie
-SimpleDie src/bjc/dicelang/v2/DiceBox.java /^ public SimpleDie(long nDice, Die size) {$/;" m class:DiceBox.SimpleDie
-SimpleDie src/bjc/dicelang/v2/DiceBox.java /^ public SimpleDie(long nDice, long size) {$/;" m class:DiceBox.SimpleDie
-SimpleDie src/bjc/dicelang/v2/DiceBox.java /^ public static class SimpleDie implements Die {$/;" c class:DiceBox
-SimpleDieList src/bjc/dicelang/v2/DiceBox.java /^ public SimpleDieList(Die nDice, Die sze) {$/;" m class:DiceBox.SimpleDieList
-SimpleDieList src/bjc/dicelang/v2/DiceBox.java /^ public static class SimpleDieList implements DieList {$/;" c class:DiceBox
-StreamEngine src/bjc/dicelang/v2/StreamEngine.java /^ public StreamEngine(DiceLangEngine engine) {$/;" m class:StreamEngine
-StreamEngine src/bjc/dicelang/v2/StreamEngine.java /^public class StreamEngine {$/;" c
-TOKEN src/bjc/dicelang/v2/Define.java /^ LINE, TOKEN$/;" e enum:Define.Type file:
-TOKGROUP src/bjc/dicelang/v2/Token.java /^ TOKGROUP$/;" e enum:Token.Type file:
-TOKREF src/bjc/dicelang/v2/Node.java /^ ROOT, TOKREF,$/;" e enum:Node.Type file:
-Token src/bjc/dicelang/v2/Token.java /^ public Token(Type typ) {$/;" m class:Token
-Token src/bjc/dicelang/v2/Token.java /^ public Token(Type typ, DiceBox.DieExpression val) {$/;" m class:Token
-Token src/bjc/dicelang/v2/Token.java /^ public Token(Type typ, IList<Token> tkVals) {$/;" m class:Token
-Token src/bjc/dicelang/v2/Token.java /^ public Token(Type typ, String val) {$/;" m class:Token
-Token src/bjc/dicelang/v2/Token.java /^ public Token(Type typ, double val) {$/;" m class:Token
-Token src/bjc/dicelang/v2/Token.java /^ public Token(Type typ, long val) {$/;" m class:Token
-Token src/bjc/dicelang/v2/Token.java /^public class Token {$/;" c
-Type src/bjc/dicelang/v2/Define.java /^ public static enum Type {$/;" g class:Define
-Type src/bjc/dicelang/v2/Evaluator.java /^ public static enum Type {$/;" g class:Evaluator.Result
-Type src/bjc/dicelang/v2/Node.java /^ public static enum Type {$/;" g class:Node
-Type src/bjc/dicelang/v2/Token.java /^ public static enum Type {$/;" g class:Token
-UNARYOP src/bjc/dicelang/v2/Node.java /^ UNARYOP, BINOP,$/;" e enum:Node.Type file:
-VARIABLE src/bjc/dicelang/ast/nodes/DiceASTType.java /^ VARIABLE;$/;" e enum:DiceASTType file:
-VREF src/bjc/dicelang/v2/Token.java /^ VREF,$/;" e enum:Token.Type file:
-VariableDiceNode src/bjc/dicelang/ast/nodes/VariableDiceNode.java /^ public VariableDiceNode(String varName) {$/;" m class:VariableDiceNode
-VariableDiceNode src/bjc/dicelang/ast/nodes/VariableDiceNode.java /^public class VariableDiceNode implements IDiceASTNode {$/;" c
-WIZARD src/bjc/dicelang/v2/Errors.java /^ WIZARD, DEV$/;" e enum:Errors.ErrorMode file:
-accept src/bjc/dicelang/ast/DiceASTReferenceChecker.java /^ public void accept(IDiceASTNode astNode) {$/;" m class:DiceASTReferenceChecker
-actions src/bjc/dicelang/examples/DiceASTLanguageTest.java /^ private static IMap<String, DiceASTPragma> actions;$/;" f class:DiceASTLanguageTest file:
-acts src/bjc/dicelang/examples/DiceLanguageTest.java /^ private static Map<String, BiConsumer<String, DiceLanguageState>> acts;$/;" f class:DiceLanguageTest file:
-add src/bjc/dicelang/DiceExpressionBuilder.java /^ public DiceExpressionBuilder add(IDiceExpression exp) {$/;" m class:DiceExpressionBuilder
-add src/bjc/dicelang/DiceExpressionBuilder.java /^ public DiceExpressionBuilder add(int num) {$/;" m class:DiceExpressionBuilder
-addLineDefine src/bjc/dicelang/v2/DiceLangEngine.java /^ public void addLineDefine(Define dfn) {$/;" m class:DiceLangEngine
-addPass src/bjc/dicelang/ast/DiceASTOptimizer.java /^ public void addPass(IOptimizationPass pass) {$/;" m class:DiceASTOptimizer
-addTokenDefine src/bjc/dicelang/v2/DiceLangEngine.java /^ public void addTokenDefine(Define dfn) {$/;" m class:DiceLangEngine
-additionCollapser src/bjc/dicelang/ast/optimization/ConstantCollapser.java /^ private static final ArithmeticCollapser additionCollapser = new ArithmeticCollapser($/;" f class:ConstantCollapser file:
-apply src/bjc/dicelang/ast/ArithmeticCollapser.java /^ public IPair<IResult, ITree<IDiceASTNode>> apply($/;" m class:ArithmeticCollapser
-apply src/bjc/dicelang/v2/Define.java /^ public String apply(String tok) {$/;" m class:Define
-arrayContents src/bjc/dicelang/ast/ArrayResult.java /^ private IList<IResult> arrayContents;$/;" f class:ArrayResult file:
-bake src/bjc/dicelang/DiceExpressionBuilder.java /^ public IDiceExpression bake() {$/;" m class:DiceExpressionBuilder
-baking src/bjc/dicelang/DiceExpressionBuilder.java /^ private IDiceExpression baking;$/;" f class:DiceExpressionBuilder file:
-bindLiteralValue src/bjc/dicelang/ast/DiceASTEvaluator.java /^ private static IResult bindLiteralValue(IDiceASTNode leafNode,$/;" m class:DiceASTEvaluator file:
-bjc.dicelang src/bjc/dicelang/BindingDiceExpression.java /^package bjc.dicelang;$/;" p
-bjc.dicelang src/bjc/dicelang/ComplexDice.java /^package bjc.dicelang;$/;" p
-bjc.dicelang src/bjc/dicelang/CompoundDice.java /^package bjc.dicelang;$/;" p
-bjc.dicelang src/bjc/dicelang/DiceExpressionBuilder.java /^package bjc.dicelang;$/;" p
-bjc.dicelang src/bjc/dicelang/DiceExpressionParser.java /^package bjc.dicelang;$/;" p
-bjc.dicelang src/bjc/dicelang/DiceExpressionType.java /^package bjc.dicelang;$/;" p
-bjc.dicelang src/bjc/dicelang/Die.java /^package bjc.dicelang;$/;" p
-bjc.dicelang src/bjc/dicelang/IDiceExpression.java /^package bjc.dicelang;$/;" p
-bjc.dicelang src/bjc/dicelang/OperatorDiceExpression.java /^package bjc.dicelang;$/;" p
-bjc.dicelang src/bjc/dicelang/PolyhedralDice.java /^package bjc.dicelang;$/;" p
-bjc.dicelang src/bjc/dicelang/ReferenceDiceExpression.java /^package bjc.dicelang;$/;" p
-bjc.dicelang src/bjc/dicelang/ScalarDie.java /^package bjc.dicelang;$/;" p
-bjc.dicelang.ast src/bjc/dicelang/ast/ArithmeticCollapser.java /^package bjc.dicelang.ast;$/;" p
-bjc.dicelang.ast src/bjc/dicelang/ast/ArrayResult.java /^package bjc.dicelang.ast;$/;" p
-bjc.dicelang.ast src/bjc/dicelang/ast/DiceASTEvaluator.java /^package bjc.dicelang.ast;$/;" p
-bjc.dicelang.ast src/bjc/dicelang/ast/DiceASTInliner.java /^package bjc.dicelang.ast;$/;" p
-bjc.dicelang.ast src/bjc/dicelang/ast/DiceASTOptimizer.java /^package bjc.dicelang.ast;$/;" p
-bjc.dicelang.ast src/bjc/dicelang/ast/DiceASTParser.java /^package bjc.dicelang.ast;$/;" p
-bjc.dicelang.ast src/bjc/dicelang/ast/DiceASTReferenceChecker.java /^package bjc.dicelang.ast;$/;" p
-bjc.dicelang.ast src/bjc/dicelang/ast/DiceASTReferenceSanitizer.java /^package bjc.dicelang.ast;$/;" p
-bjc.dicelang.ast src/bjc/dicelang/ast/DiceASTUtils.java /^package bjc.dicelang.ast;$/;" p
-bjc.dicelang.ast src/bjc/dicelang/ast/DummyResult.java /^package bjc.dicelang.ast;$/;" p
-bjc.dicelang.ast src/bjc/dicelang/ast/IOperatorCollapser.java /^package bjc.dicelang.ast;$/;" p
-bjc.dicelang.ast src/bjc/dicelang/ast/IResult.java /^package bjc.dicelang.ast;$/;" p
-bjc.dicelang.ast src/bjc/dicelang/ast/IntegerResult.java /^package bjc.dicelang.ast;$/;" p
-bjc.dicelang.ast src/bjc/dicelang/ast/ResultType.java /^package bjc.dicelang.ast;$/;" p
-bjc.dicelang.ast src/bjc/dicelang/ast/package-info.java /^package bjc.dicelang.ast;/;" p
-bjc.dicelang.ast.nodes src/bjc/dicelang/ast/nodes/DiceASTType.java /^package bjc.dicelang.ast.nodes;$/;" p
-bjc.dicelang.ast.nodes src/bjc/dicelang/ast/nodes/DiceLiteralNode.java /^package bjc.dicelang.ast.nodes;$/;" p
-bjc.dicelang.ast.nodes src/bjc/dicelang/ast/nodes/DiceLiteralType.java /^package bjc.dicelang.ast.nodes;$/;" p
-bjc.dicelang.ast.nodes src/bjc/dicelang/ast/nodes/DiceOperatorType.java /^package bjc.dicelang.ast.nodes;$/;" p
-bjc.dicelang.ast.nodes src/bjc/dicelang/ast/nodes/IDiceASTNode.java /^package bjc.dicelang.ast.nodes;$/;" p
-bjc.dicelang.ast.nodes src/bjc/dicelang/ast/nodes/ILiteralDiceNode.java /^package bjc.dicelang.ast.nodes;$/;" p
-bjc.dicelang.ast.nodes src/bjc/dicelang/ast/nodes/IntegerLiteralNode.java /^package bjc.dicelang.ast.nodes;$/;" p
-bjc.dicelang.ast.nodes src/bjc/dicelang/ast/nodes/OperatorDiceNode.java /^package bjc.dicelang.ast.nodes;$/;" p
-bjc.dicelang.ast.nodes src/bjc/dicelang/ast/nodes/VariableDiceNode.java /^package bjc.dicelang.ast.nodes;$/;" p
-bjc.dicelang.ast.nodes src/bjc/dicelang/ast/nodes/package-info.java /^package bjc.dicelang.ast.nodes;/;" p
-bjc.dicelang.ast.optimization src/bjc/dicelang/ast/optimization/ArithmeticCollapser.java /^package bjc.dicelang.ast.optimization;$/;" p
-bjc.dicelang.ast.optimization src/bjc/dicelang/ast/optimization/ConstantCollapser.java /^package bjc.dicelang.ast.optimization;$/;" p
-bjc.dicelang.ast.optimization src/bjc/dicelang/ast/optimization/IOptimizationPass.java /^package bjc.dicelang.ast.optimization;$/;" p
-bjc.dicelang.ast.optimization src/bjc/dicelang/ast/optimization/OperationCondenser.java /^package bjc.dicelang.ast.optimization;$/;" p
-bjc.dicelang.ast.optimization src/bjc/dicelang/ast/optimization/package-info.java /^package bjc.dicelang.ast.optimization;/;" p
-bjc.dicelang.examples src/bjc/dicelang/examples/DiceASTLanguageTest.java /^package bjc.dicelang.examples;$/;" p
-bjc.dicelang.examples src/bjc/dicelang/examples/DiceASTPragma.java /^package bjc.dicelang.examples;$/;" p
-bjc.dicelang.examples src/bjc/dicelang/examples/DiceExpressionParserTest.java /^package bjc.dicelang.examples;$/;" p
-bjc.dicelang.examples src/bjc/dicelang/examples/DiceExpressionPreparer.java /^package bjc.dicelang.examples;$/;" p
-bjc.dicelang.examples src/bjc/dicelang/examples/DiceLanguageState.java /^package bjc.dicelang.examples;$/;" p
-bjc.dicelang.examples src/bjc/dicelang/examples/DiceLanguageTest.java /^package bjc.dicelang.examples;$/;" p
-bjc.dicelang.v2 src/bjc/dicelang/v2/Define.java /^package bjc.dicelang.v2;$/;" p
-bjc.dicelang.v2 src/bjc/dicelang/v2/DiceBox.java /^package bjc.dicelang.v2;$/;" p
-bjc.dicelang.v2 src/bjc/dicelang/v2/DiceLangConsole.java /^package bjc.dicelang.v2;$/;" p
-bjc.dicelang.v2 src/bjc/dicelang/v2/DiceLangEngine.java /^package bjc.dicelang.v2;$/;" p
-bjc.dicelang.v2 src/bjc/dicelang/v2/DoubleMatcher.java /^package bjc.dicelang.v2;$/;" p
-bjc.dicelang.v2 src/bjc/dicelang/v2/Errors.java /^package bjc.dicelang.v2;$/;" p
-bjc.dicelang.v2 src/bjc/dicelang/v2/Evaluator.java /^package bjc.dicelang.v2;$/;" p
-bjc.dicelang.v2 src/bjc/dicelang/v2/Node.java /^package bjc.dicelang.v2;$/;" p
-bjc.dicelang.v2 src/bjc/dicelang/v2/Parser.java /^package bjc.dicelang.v2;$/;" p
-bjc.dicelang.v2 src/bjc/dicelang/v2/Shunter.java /^package bjc.dicelang.v2;$/;" p
-bjc.dicelang.v2 src/bjc/dicelang/v2/StreamEngine.java /^package bjc.dicelang.v2;$/;" p
-bjc.dicelang.v2 src/bjc/dicelang/v2/Token.java /^package bjc.dicelang.v2;$/;" p
-buildOperations src/bjc/dicelang/ast/DiceASTEvaluator.java /^ private static IMap<IDiceASTNode, IOperatorCollapser> buildOperations($/;" m class:DiceASTEvaluator file:
-canOptimize src/bjc/dicelang/ComplexDice.java /^ public boolean canOptimize() {$/;" m class:ComplexDice
-canOptimize src/bjc/dicelang/CompoundDice.java /^ public boolean canOptimize() {$/;" m class:CompoundDice
-canOptimize src/bjc/dicelang/Die.java /^ public boolean canOptimize() {$/;" m class:Die
-canOptimize src/bjc/dicelang/IDiceExpression.java /^ public default boolean canOptimize() {$/;" m interface:IDiceExpression
-canOptimize src/bjc/dicelang/ScalarDie.java /^ public boolean canOptimize() {$/;" m class:ScalarDie
-canOptimize src/bjc/dicelang/ast/nodes/DiceLiteralNode.java /^ public boolean canOptimize() {$/;" m class:DiceLiteralNode
-canOptimize src/bjc/dicelang/ast/nodes/ILiteralDiceNode.java /^ boolean canOptimize();$/;" m interface:ILiteralDiceNode
-canOptimize src/bjc/dicelang/ast/nodes/IntegerLiteralNode.java /^ public boolean canOptimize() {$/;" m class:IntegerLiteralNode
-canOptimize src/bjc/dicelang/v2/DiceBox.java /^ boolean canOptimize();$/;" m interface:DiceBox.Die
-canOptimize src/bjc/dicelang/v2/DiceBox.java /^ boolean canOptimize();$/;" m interface:DiceBox.DieList
-canOptimize src/bjc/dicelang/v2/DiceBox.java /^ public boolean canOptimize() {$/;" m class:DiceBox.CompoundDie
-canOptimize src/bjc/dicelang/v2/DiceBox.java /^ public boolean canOptimize() {$/;" m class:DiceBox.ExplodingDice
-canOptimize src/bjc/dicelang/v2/DiceBox.java /^ public boolean canOptimize() {$/;" m class:DiceBox.FudgeDie
-canOptimize src/bjc/dicelang/v2/DiceBox.java /^ public boolean canOptimize() {$/;" m class:DiceBox.ScalarDie
-canOptimize src/bjc/dicelang/v2/DiceBox.java /^ public boolean canOptimize() {$/;" m class:DiceBox.SimpleDie
-canOptimize src/bjc/dicelang/v2/DiceBox.java /^ public boolean canOptimize() {$/;" m class:DiceBox.SimpleDieList
-collapse src/bjc/dicelang/ast/optimization/ArithmeticCollapser.java /^ public ITree<IDiceASTNode> collapse($/;" m class:ArithmeticCollapser
-combineArrayResults src/bjc/dicelang/ast/ArithmeticCollapser.java /^ private IList<IResult> combineArrayResults(IResult accumulatedValue,$/;" m class:ArithmeticCollapser file:
-commandNumber src/bjc/dicelang/v2/DiceLangConsole.java /^ private int commandNumber;$/;" f class:DiceLangConsole file:
-comparePoint src/bjc/dicelang/v2/DiceBox.java /^ private static final String comparePoint = "[<>=]\\\\d+";$/;" f class:DiceBox file:
-compoundCollapser src/bjc/dicelang/ast/optimization/ConstantCollapser.java /^ private static final ArithmeticCollapser compoundCollapser = new ArithmeticCollapser($/;" f class:ConstantCollapser file:
-compoundDie src/bjc/dicelang/v2/DiceBox.java /^ private static final String compoundDie = simpleDie + "c(?:(?:" + simpleDie + ")|(?:\\\\d+))";$/;" f class:DiceBox file:
-compoundDiePattern src/bjc/dicelang/v2/DiceBox.java /^ private static final Pattern compoundDiePattern = Pattern.compile("\\\\A" + compoundDie + "\\\\Z");$/;" f class:DiceBox file:
-compoundGroup src/bjc/dicelang/v2/DiceBox.java /^ private static final String compoundGroup = "(?:(?:\\\\d+)|(?:" + simpleDie + ")|(?:"$/;" f class:DiceBox file:
-condense src/bjc/dicelang/ast/optimization/OperationCondenser.java /^ public static ITree<IDiceASTNode> condense(ITree<IDiceASTNode> ast) {$/;" m class:OperationCondenser
-containsSimpleVariable src/bjc/dicelang/ast/DiceASTUtils.java /^ public static boolean containsSimpleVariable($/;" m class:DiceASTUtils
-convertLeafNode src/bjc/dicelang/ast/DiceASTParser.java /^ private static IDiceASTNode convertLeafNode(String leafNode) {$/;" m class:DiceASTParser file:
-convertOperatorNode src/bjc/dicelang/ast/DiceASTParser.java /^ private static IDiceASTNode convertOperatorNode(String operatorNode) {$/;" m class:DiceASTParser file:
-createFromString src/bjc/dicelang/ast/DiceASTParser.java /^ public static ITree<IDiceASTNode> createFromString($/;" m class:DiceASTParser
-currStream src/bjc/dicelang/v2/StreamEngine.java /^ private IList<String> currStream;$/;" f class:StreamEngine file:
-d10 src/bjc/dicelang/PolyhedralDice.java /^ public static IDiceExpression d10() {$/;" m class:PolyhedralDice
-d10 src/bjc/dicelang/PolyhedralDice.java /^ public static IDiceExpression d10(int nDice) {$/;" m class:PolyhedralDice
-d100 src/bjc/dicelang/PolyhedralDice.java /^ public static IDiceExpression d100() {$/;" m class:PolyhedralDice
-d100 src/bjc/dicelang/PolyhedralDice.java /^ public static IDiceExpression d100(int nDice) {$/;" m class:PolyhedralDice
-d12 src/bjc/dicelang/PolyhedralDice.java /^ public static IDiceExpression d12() {$/;" m class:PolyhedralDice
-d12 src/bjc/dicelang/PolyhedralDice.java /^ public static IDiceExpression d12(int nDice) {$/;" m class:PolyhedralDice
-d20 src/bjc/dicelang/PolyhedralDice.java /^ public static IDiceExpression d20() {$/;" m class:PolyhedralDice
-d20 src/bjc/dicelang/PolyhedralDice.java /^ public static IDiceExpression d20(int nDice) {$/;" m class:PolyhedralDice
-d4 src/bjc/dicelang/PolyhedralDice.java /^ public static IDiceExpression d4() {$/;" m class:PolyhedralDice
-d4 src/bjc/dicelang/PolyhedralDice.java /^ public static IDiceExpression d4(int nDice) {$/;" m class:PolyhedralDice
-d6 src/bjc/dicelang/PolyhedralDice.java /^ public static IDiceExpression d6() {$/;" m class:PolyhedralDice
-d6 src/bjc/dicelang/PolyhedralDice.java /^ public static IDiceExpression d6(int nDice) {$/;" m class:PolyhedralDice
-d8 src/bjc/dicelang/PolyhedralDice.java /^ public static IDiceExpression d8() {$/;" m class:PolyhedralDice
-d8 src/bjc/dicelang/PolyhedralDice.java /^ public static IDiceExpression d8(int nDice) {$/;" m class:PolyhedralDice
-deaffixTokens src/bjc/dicelang/v2/DiceLangEngine.java /^ private IList<String> deaffixTokens(IList<String> tokens, List<IPair<String, String>> deaffixTokens) {$/;" m class:DiceLangEngine file:
-deaffixationList src/bjc/dicelang/v2/DiceLangEngine.java /^ private List<IPair<String, String>> deaffixationList;$/;" f class:DiceLangEngine file:
-debugMode src/bjc/dicelang/v2/DiceLangEngine.java /^ private boolean debugMode;$/;" f class:DiceLangEngine file:
-defineMode src/bjc/dicelang/v2/DiceLangConsole.java /^ private boolean defineMode(String defineText) {$/;" m class:DiceLangConsole file:
-defnsSorted src/bjc/dicelang/v2/DiceLangEngine.java /^ private boolean defnsSorted;$/;" f class:DiceLangEngine file:
-deriveCond src/bjc/dicelang/v2/DiceBox.java /^ private Predicate<Long> deriveCond(String patt) {$/;" m class:DiceBox.ExplodingDice file:
-devError src/bjc/dicelang/v2/Errors.java /^ private void devError(ErrorKey key, String[] args) {$/;" m class:Errors file:
-diceList src/bjc/dicelang/v2/DiceBox.java /^ private static final String diceList = compoundGroup + "dl" + compoundGroup;$/;" f class:DiceBox file:
-diceListPattern src/bjc/dicelang/v2/DiceBox.java /^ private static final Pattern diceListPattern = Pattern.compile("\\\\A" + diceList + "\\\\Z");$/;" f class:DiceBox file:
-diceSize src/bjc/dicelang/v2/DiceBox.java /^ private Die diceSize;$/;" f class:DiceBox.SimpleDie file:
-diceVal src/bjc/dicelang/v2/Evaluator.java /^ public DiceBox.DieExpression diceVal;$/;" f class:Evaluator.Result
-diceValue src/bjc/dicelang/v2/Token.java /^ public DiceBox.DieExpression diceValue;$/;" f class:Token
-die src/bjc/dicelang/ComplexDice.java /^ private IDiceExpression die;$/;" f class:ComplexDice file:
-divide src/bjc/dicelang/DiceExpressionBuilder.java /^ public DiceExpressionBuilder divide(IDiceExpression exp) {$/;" m class:DiceExpressionBuilder
-divide src/bjc/dicelang/DiceExpressionBuilder.java /^ public DiceExpressionBuilder divide(int num) {$/;" m class:DiceExpressionBuilder
-divideCollapser src/bjc/dicelang/ast/optimization/ConstantCollapser.java /^ private static final ArithmeticCollapser divideCollapser = new ArithmeticCollapser($/;" f class:ConstantCollapser file:
-doArithmeticCollapse src/bjc/dicelang/ast/ArithmeticCollapser.java /^ private IPair<IResult, ITree<IDiceASTNode>> doArithmeticCollapse($/;" m class:ArithmeticCollapser file:
-doArrayAssign src/bjc/dicelang/ast/DiceASTEvaluator.java /^ private static void doArrayAssign($/;" m class:DiceASTEvaluator file:
-doCondense src/bjc/dicelang/ast/optimization/OperationCondenser.java /^ private static ITree<IDiceASTNode> doCondense($/;" m class:OperationCondenser file:
-doPass src/bjc/dicelang/v2/Define.java /^ private String doPass(String tok) {$/;" m class:Define file:
-doRecur src/bjc/dicelang/v2/Define.java /^ private boolean doRecur;$/;" f class:Define file:
-doSanitize src/bjc/dicelang/ast/DiceASTReferenceSanitizer.java /^ private static ITree<IDiceASTNode> doSanitize(ITree<IDiceASTNode> ast,$/;" m class:DiceASTReferenceSanitizer file:
-doSingleSanitize src/bjc/dicelang/ast/DiceASTReferenceSanitizer.java /^ private static ITree<IDiceASTNode> doSingleSanitize($/;" m class:DiceASTReferenceSanitizer file:
-doStreams src/bjc/dicelang/v2/StreamEngine.java /^ public boolean doStreams(String[] toks, IList<String> dest) {$/;" m class:StreamEngine
-dummyData src/bjc/dicelang/ast/DummyResult.java /^ private String dummyData;$/;" f class:DummyResult file:
-eng src/bjc/dicelang/v2/DiceLangConsole.java /^ private DiceLangEngine eng;$/;" f class:DiceLangConsole file:
-eng src/bjc/dicelang/v2/Evaluator.java /^ private DiceLangEngine eng;$/;" f class:Evaluator file:
-eng src/bjc/dicelang/v2/StreamEngine.java /^ private DiceLangEngine eng;$/;" f class:StreamEngine file:
-enviroment src/bjc/dicelang/ReferenceDiceExpression.java /^ private Map<String, IDiceExpression> enviroment;$/;" f class:ReferenceDiceExpression file:
-equals src/bjc/dicelang/ast/nodes/VariableDiceNode.java /^ public boolean equals(Object obj) {$/;" m class:VariableDiceNode
-equals src/bjc/dicelang/v2/Node.java /^ public boolean equals(Object other) {$/;" m class:Node
-equals src/bjc/dicelang/v2/Token.java /^ public boolean equals(Object other) {$/;" m class:Token
-eval src/bjc/dicelang/v2/DiceLangEngine.java /^ private Evaluator eval;$/;" f class:DiceLangEngine file:
-evaluate src/bjc/dicelang/v2/Evaluator.java /^ public Result evaluate(ITree<Node> comm) {$/;" m class:Evaluator
-evaluateAST src/bjc/dicelang/ast/DiceASTEvaluator.java /^ public static IResult evaluateAST(ITree<IDiceASTNode> expression,$/;" m class:DiceASTEvaluator
-evaluateBinaryOp src/bjc/dicelang/v2/Evaluator.java /^ private ITree<Node> evaluateBinaryOp(ITree<Node> ast) {$/;" m class:Evaluator file:
-evaluateDiceBinary src/bjc/dicelang/v2/Evaluator.java /^ private ITree<Node> evaluateDiceBinary(Token.Type op, Result left, Result right) {$/;" m class:Evaluator file:
-evaluateLeaf src/bjc/dicelang/ast/DiceASTEvaluator.java /^ private static IPair<IResult, ITree<IDiceASTNode>> evaluateLeaf($/;" m class:DiceASTEvaluator file:
-evaluateLiteral src/bjc/dicelang/ast/DiceASTEvaluator.java /^ private static IResult evaluateLiteral(IDiceASTNode leafNode) {$/;" m class:DiceASTEvaluator file:
-evaluateMathBinary src/bjc/dicelang/v2/Evaluator.java /^ private ITree<Node> evaluateMathBinary(Token.Type op, Result left, Result right) {$/;" m class:Evaluator file:
-evaluateNode src/bjc/dicelang/v2/Evaluator.java /^ private ITree<Node> evaluateNode(ITree<Node> ast) {$/;" m class:Evaluator file:
-evaluateTokenRef src/bjc/dicelang/v2/Evaluator.java /^ private ITree<Node> evaluateTokenRef(Token tk) {$/;" m class:Evaluator file:
-explodeOn src/bjc/dicelang/v2/DiceBox.java /^ private Predicate<Long> explodeOn;$/;" f class:DiceBox.ExplodingDice file:
-explodePattern src/bjc/dicelang/v2/DiceBox.java /^ private String explodePattern;$/;" f class:DiceBox.ExplodingDice file:
-explodePenetrates src/bjc/dicelang/v2/DiceBox.java /^ private boolean explodePenetrates;$/;" f class:DiceBox.ExplodingDice file:
-expression src/bjc/dicelang/BindingDiceExpression.java /^ private IDiceExpression expression;$/;" f class:BindingDiceExpression file:
-expression src/bjc/dicelang/ast/nodes/DiceLiteralNode.java /^ private IDiceExpression expression;$/;" f class:DiceLiteralNode file:
-flexadecimalMatcher src/bjc/dicelang/v2/DiceLangEngine.java /^ private Pattern flexadecimalMatcher = Pattern.compile("\\\\A[\\\\-\\\\+]?[0-9][0-9A-Za-z]+B\\\\d{1,2}\\\\Z");$/;" f class:DiceLangEngine file:
-floatVal src/bjc/dicelang/v2/Evaluator.java /^ public double floatVal;$/;" f class:Evaluator.Result
-floatValue src/bjc/dicelang/v2/Token.java /^ public double floatValue;$/;" f class:Token
-floatingLiteral src/bjc/dicelang/v2/DoubleMatcher.java /^ public static final Pattern floatingLiteral = Pattern.compile("\\\\A" + fpRegex + "\\\\Z");$/;" f class:DoubleMatcher
-fpRegex src/bjc/dicelang/v2/DoubleMatcher.java /^ private static final String fpRegex =$/;" f class:DoubleMatcher file:
-fromString src/bjc/dicelang/ComplexDice.java /^ public static IDiceExpression fromString(String expression) {$/;" m class:ComplexDice
-fromString src/bjc/dicelang/ast/nodes/OperatorDiceNode.java /^ public static OperatorDiceNode fromString(String s) {$/;" m class:OperatorDiceNode
-fudgeDie src/bjc/dicelang/v2/DiceBox.java /^ private static final String fudgeDie = "(?:\\\\d+)?dF";$/;" f class:DiceBox file:
-fudgeDiePattern src/bjc/dicelang/v2/DiceBox.java /^ private static final Pattern fudgeDiePattern = Pattern.compile("\\\\A" + fudgeDie + "\\\\Z");$/;" f class:DiceBox file:
-getData src/bjc/dicelang/ast/DummyResult.java /^ public String getData() {$/;" m class:DummyResult
-getLiteralType src/bjc/dicelang/ast/nodes/DiceLiteralNode.java /^ public DiceLiteralType getLiteralType() {$/;" m class:DiceLiteralNode
-getLiteralType src/bjc/dicelang/ast/nodes/ILiteralDiceNode.java /^ DiceLiteralType getLiteralType();$/;" m interface:ILiteralDiceNode
-getLiteralType src/bjc/dicelang/ast/nodes/ILiteralDiceNode.java /^ static DiceLiteralType getLiteralType(String tok) {$/;" m interface:ILiteralDiceNode
-getLiteralType src/bjc/dicelang/ast/nodes/IntegerLiteralNode.java /^ public DiceLiteralType getLiteralType() {$/;" m class:IntegerLiteralNode
-getName src/bjc/dicelang/ReferenceDiceExpression.java /^ public String getName() {$/;" m class:ReferenceDiceExpression
-getNextCommand src/bjc/dicelang/examples/DiceASTLanguageTest.java /^ private static String getNextCommand(Scanner inputSource,$/;" m class:DiceASTLanguageTest file:
-getType src/bjc/dicelang/ast/ArrayResult.java /^ public ResultType getType() {$/;" m class:ArrayResult
-getType src/bjc/dicelang/ast/DummyResult.java /^ public ResultType getType() {$/;" m class:DummyResult
-getType src/bjc/dicelang/ast/IResult.java /^ public ResultType getType();$/;" m interface:IResult
-getType src/bjc/dicelang/ast/IntegerResult.java /^ public ResultType getType() {$/;" m class:IntegerResult
-getType src/bjc/dicelang/ast/nodes/IDiceASTNode.java /^ public DiceASTType getType();$/;" m interface:IDiceASTNode
-getType src/bjc/dicelang/ast/nodes/ILiteralDiceNode.java /^ default DiceASTType getType() {$/;" m interface:ILiteralDiceNode
-getType src/bjc/dicelang/ast/nodes/OperatorDiceNode.java /^ public DiceASTType getType() {$/;" m class:OperatorDiceNode
-getType src/bjc/dicelang/ast/nodes/VariableDiceNode.java /^ public DiceASTType getType() {$/;" m class:VariableDiceNode
-getValue src/bjc/dicelang/ast/ArrayResult.java /^ public IList<IResult> getValue() {$/;" m class:ArrayResult
-getValue src/bjc/dicelang/ast/IntegerResult.java /^ public int getValue() {$/;" m class:IntegerResult
-getValue src/bjc/dicelang/ast/nodes/DiceLiteralNode.java /^ public IDiceExpression getValue() {$/;" m class:DiceLiteralNode
-getValue src/bjc/dicelang/ast/nodes/IntegerLiteralNode.java /^ public int getValue() {$/;" m class:IntegerLiteralNode
-getVariable src/bjc/dicelang/ast/nodes/VariableDiceNode.java /^ public String getVariable() {$/;" m class:VariableDiceNode
-groupType src/bjc/dicelang/v2/Node.java /^ public GroupType groupType;$/;" f class:Node
-halfCombineLists src/bjc/dicelang/ast/ArithmeticCollapser.java /^ private IList<IResult> halfCombineLists(IList<IResult> list,$/;" m class:ArithmeticCollapser file:
-handleInlineAction src/bjc/dicelang/examples/DiceASTLanguageTest.java /^ private static void handleInlineAction($/;" m class:DiceASTLanguageTest file:
-handlePragma src/bjc/dicelang/v2/DiceLangConsole.java /^ private boolean handlePragma(String pragma) {$/;" m class:DiceLangConsole file:
-hashCode src/bjc/dicelang/ast/nodes/VariableDiceNode.java /^ public int hashCode() {$/;" m class:VariableDiceNode
-helpMode src/bjc/dicelang/v2/DiceLangConsole.java /^ private boolean helpMode(String pragma) {$/;" m class:DiceLangConsole file:
-hexadecimalMatcher src/bjc/dicelang/v2/DiceLangEngine.java /^ private Pattern hexadecimalMatcher = Pattern.compile("\\\\A[\\\\-\\\\+]?0x[0-9A-Fa-f]+\\\\Z");$/;" f class:DiceLangEngine file:
-inError src/bjc/dicelang/v2/Define.java /^ public final boolean inError;$/;" f class:Define
-init src/bjc/dicelang/v2/StreamEngine.java /^ private void init() {$/;" m class:StreamEngine file:
-initialValue src/bjc/dicelang/ast/ArithmeticCollapser.java /^ private int initialValue;$/;" f class:ArithmeticCollapser file:
-initialize src/bjc/dicelang/BindingDiceExpression.java /^ private void initialize(String name, IDiceExpression expr,$/;" m class:BindingDiceExpression file:
-inlineAll src/bjc/dicelang/ast/DiceASTInliner.java /^ public static ITree<IDiceASTNode> inlineAll(ITree<IDiceASTNode> ast,$/;" m class:DiceASTInliner
-inlineNode src/bjc/dicelang/ast/DiceASTInliner.java /^ private static ITree<IDiceASTNode> inlineNode(IDiceASTNode node,$/;" m class:DiceASTInliner file:
-inst src/bjc/dicelang/v2/Errors.java /^ public final static Errors inst;$/;" f class:Errors
-intMatcher src/bjc/dicelang/v2/DiceLangEngine.java /^ private Pattern intMatcher = Pattern.compile("\\\\A[\\\\-\\\\+]?\\\\d+\\\\Z");$/;" f class:DiceLangEngine file:
-intVal src/bjc/dicelang/v2/Evaluator.java /^ public long intVal;$/;" f class:Evaluator.Result
-intValue src/bjc/dicelang/v2/Token.java /^ public long intValue;$/;" f class:Token
-isDirectReference src/bjc/dicelang/ast/DiceASTReferenceChecker.java /^ private boolean isDirectReference(IDiceASTNode astNode) {$/;" m class:DiceASTReferenceChecker file:
-isGrouper src/bjc/dicelang/v2/Token.java /^ public boolean isGrouper() {$/;" m class:Token
-isHigherPrec src/bjc/dicelang/v2/Shunter.java /^ private boolean isHigherPrec(Token.Type left, Token.Type right) {$/;" m class:Shunter file:
-isList src/bjc/dicelang/v2/DiceBox.java /^ public final boolean isList;$/;" f class:DiceBox.DieExpression
-isOperator src/bjc/dicelang/ast/nodes/IDiceASTNode.java /^ public boolean isOperator();$/;" m interface:IDiceASTNode
-isOperator src/bjc/dicelang/ast/nodes/ILiteralDiceNode.java /^ default boolean isOperator() {$/;" m interface:ILiteralDiceNode
-isOperator src/bjc/dicelang/ast/nodes/OperatorDiceNode.java /^ public boolean isOperator() {$/;" m class:OperatorDiceNode
-isOperator src/bjc/dicelang/ast/nodes/VariableDiceNode.java /^ public boolean isOperator() {$/;" m class:VariableDiceNode
-isOperatorNode src/bjc/dicelang/ast/DiceASTParser.java /^ private static boolean isOperatorNode(String token) {$/;" m class:DiceASTParser file:
-isValidExpression src/bjc/dicelang/v2/DiceBox.java /^ public static boolean isValidExpression(String exp) {$/;" m class:DiceBox
-left src/bjc/dicelang/CompoundDice.java /^ private IDiceExpression left;$/;" f class:CompoundDice file:
-left src/bjc/dicelang/OperatorDiceExpression.java /^ private IDiceExpression left;$/;" f class:OperatorDiceExpression file:
-left src/bjc/dicelang/v2/DiceBox.java /^ private Die left;$/;" f class:DiceBox.CompoundDie file:
-lexToken src/bjc/dicelang/v2/DiceLangEngine.java /^ private Token lexToken(String token, IMap<String, String> stringLts) {$/;" m class:DiceLangEngine file:
-lineDefns src/bjc/dicelang/v2/DiceLangEngine.java /^ private IList<Define> lineDefns;$/;" f class:DiceLangEngine file:
-list src/bjc/dicelang/v2/DiceBox.java /^ public DieList list;$/;" f class:DiceBox.DieExpression
-litTokens src/bjc/dicelang/v2/DiceLangEngine.java /^ private IMap<String, Token.Type> litTokens;$/;" f class:DiceLangEngine file:
-literalToExpression src/bjc/dicelang/ast/DiceASTUtils.java /^ public static IDiceExpression literalToExpression($/;" m class:DiceASTUtils
-literalToInteger src/bjc/dicelang/ast/DiceASTUtils.java /^ public static int literalToInteger(ITree<IDiceASTNode> tree) {$/;" m class:DiceASTUtils
-main src/bjc/dicelang/examples/DiceASTLanguageTest.java /^ public static void main(String[] args) {$/;" m class:DiceASTLanguageTest
-main src/bjc/dicelang/examples/DiceExpressionParserTest.java /^ public static void main(String[] args) {$/;" m class:DiceExpressionParserTest
-main src/bjc/dicelang/examples/DiceLanguageTest.java /^ public static void main(String[] args) {$/;" m class:DiceLanguageTest
-main src/bjc/dicelang/v2/DiceLangConsole.java /^ public static void main(String[] args) {$/;" m class:DiceLangConsole
-mode src/bjc/dicelang/v2/Errors.java /^ private ErrorMode mode;$/;" f class:Errors file:
-multiply src/bjc/dicelang/DiceExpressionBuilder.java /^ public DiceExpressionBuilder multiply(IDiceExpression exp) {$/;" m class:DiceExpressionBuilder
-multiply src/bjc/dicelang/DiceExpressionBuilder.java /^ public DiceExpressionBuilder multiply(int num) {$/;" m class:DiceExpressionBuilder
-multiplyCollapser src/bjc/dicelang/ast/optimization/ConstantCollapser.java /^ private static final ArithmeticCollapser multiplyCollapser = new ArithmeticCollapser($/;" f class:ConstantCollapser file:
-nDice src/bjc/dicelang/ComplexDice.java /^ private IDiceExpression nDice;$/;" f class:ComplexDice file:
-nSides src/bjc/dicelang/Die.java /^ private int nSides;$/;" f class:Die file:
-name src/bjc/dicelang/BindingDiceExpression.java /^ private String name;$/;" f class:BindingDiceExpression file:
-name src/bjc/dicelang/ReferenceDiceExpression.java /^ private String name;$/;" f class:ReferenceDiceExpression file:
-nextLiteral src/bjc/dicelang/v2/DiceLangEngine.java /^ private int nextLiteral;$/;" f class:DiceLangEngine file:
-nextSym src/bjc/dicelang/v2/DiceLangEngine.java /^ private int nextSym;$/;" f class:DiceLangEngine file:
-nonExpandPattern src/bjc/dicelang/v2/DiceLangEngine.java /^ private Pattern nonExpandPattern = Pattern.compile("<([^\\\\>&&[^\\\\s]]*(?:\\\\>(?:[^\\\\>&&[^\\\\s]])*)*)>");$/;" f class:DiceLangEngine file:
-numDice src/bjc/dicelang/v2/DiceBox.java /^ private Die numDice;$/;" f class:DiceBox.FudgeDie file:
-numDice src/bjc/dicelang/v2/DiceBox.java /^ private Die numDice;$/;" f class:DiceBox.SimpleDie file:
-numDice src/bjc/dicelang/v2/DiceBox.java /^ private Die numDice;$/;" f class:DiceBox.SimpleDieList file:
-number src/bjc/dicelang/ScalarDie.java /^ private int number;$/;" f class:ScalarDie file:
-opExpansionList src/bjc/dicelang/v2/DiceLangEngine.java /^ private List<IPair<String, String>> opExpansionList;$/;" f class:DiceLangEngine file:
-operatorType src/bjc/dicelang/v2/Node.java /^ public Token.Type operatorType;$/;" f class:Node
-ops src/bjc/dicelang/v2/Shunter.java /^ private IMap<Token.Type, Integer> ops;$/;" f class:Shunter file:
-optimize src/bjc/dicelang/ComplexDice.java /^ public int optimize() {$/;" m class:ComplexDice
-optimize src/bjc/dicelang/CompoundDice.java /^ public int optimize() {$/;" m class:CompoundDice
-optimize src/bjc/dicelang/Die.java /^ public int optimize() {$/;" m class:Die
-optimize src/bjc/dicelang/IDiceExpression.java /^ public default int optimize() {$/;" m interface:IDiceExpression
-optimize src/bjc/dicelang/ScalarDie.java /^ public int optimize() {$/;" m class:ScalarDie
-optimize src/bjc/dicelang/ast/nodes/DiceLiteralNode.java /^ public int optimize() {$/;" m class:DiceLiteralNode
-optimize src/bjc/dicelang/ast/nodes/ILiteralDiceNode.java /^ int optimize();$/;" m interface:ILiteralDiceNode
-optimize src/bjc/dicelang/ast/nodes/IntegerLiteralNode.java /^ public int optimize() {$/;" m class:IntegerLiteralNode
-optimize src/bjc/dicelang/v2/DiceBox.java /^ long optimize();$/;" m interface:DiceBox.Die
-optimize src/bjc/dicelang/v2/DiceBox.java /^ long[] optimize();$/;" m interface:DiceBox.DieList
-optimize src/bjc/dicelang/v2/DiceBox.java /^ public long optimize() {$/;" m class:DiceBox.CompoundDie
-optimize src/bjc/dicelang/v2/DiceBox.java /^ public long optimize() {$/;" m class:DiceBox.FudgeDie
-optimize src/bjc/dicelang/v2/DiceBox.java /^ public long optimize() {$/;" m class:DiceBox.ScalarDie
-optimize src/bjc/dicelang/v2/DiceBox.java /^ public long optimize() {$/;" m class:DiceBox.SimpleDie
-optimize src/bjc/dicelang/v2/DiceBox.java /^ public long[] optimize() {$/;" m class:DiceBox.ExplodingDice
-optimize src/bjc/dicelang/v2/DiceBox.java /^ public long[] optimize() {$/;" m class:DiceBox.SimpleDieList
-optimizeLeaf src/bjc/dicelang/ast/optimization/ConstantCollapser.java /^ public ITree<IDiceASTNode> optimizeLeaf(IDiceASTNode leafNode) {$/;" m class:ConstantCollapser
-optimizeLeaf src/bjc/dicelang/ast/optimization/IOptimizationPass.java /^ public ITree<IDiceASTNode> optimizeLeaf(IDiceASTNode leafNode);$/;" m interface:IOptimizationPass
-optimizeOperator src/bjc/dicelang/ast/optimization/ConstantCollapser.java /^ public ITree<IDiceASTNode> optimizeOperator(IDiceASTNode operator,$/;" m class:ConstantCollapser
-optimizeOperator src/bjc/dicelang/ast/optimization/IOptimizationPass.java /^ public ITree<IDiceASTNode> optimizeOperator(IDiceASTNode operator,$/;" m interface:IOptimizationPass
-optimizeTree src/bjc/dicelang/ast/DiceASTOptimizer.java /^ public ITree<IDiceASTNode> optimizeTree(ITree<IDiceASTNode> ast,$/;" m class:DiceASTOptimizer
-optimizer src/bjc/dicelang/examples/DiceASTLanguageTest.java /^ private static DiceASTOptimizer optimizer;$/;" f class:DiceASTLanguageTest file:
-parse src/bjc/dicelang/DiceExpressionParser.java /^ public static IDiceExpression parse(String expression,$/;" m class:DiceExpressionParser
-parseBinding src/bjc/dicelang/ast/DiceASTEvaluator.java /^ private static IPair<IResult, ITree<IDiceASTNode>> parseBinding($/;" m class:DiceASTEvaluator file:
-parseCloseArray src/bjc/dicelang/ast/DiceASTParser.java /^ private static ITree<String> parseCloseArray($/;" m class:DiceASTParser file:
-parseExpression src/bjc/dicelang/v2/DiceBox.java /^ public static DieExpression parseExpression(String exp) {$/;" m class:DiceBox
-parseGroup src/bjc/dicelang/ast/DiceASTEvaluator.java /^ private static IPair<IResult, ITree<IDiceASTNode>> parseGroup($/;" m class:DiceASTEvaluator file:
-parseLet src/bjc/dicelang/ast/DiceASTEvaluator.java /^ private static IPair<IResult, ITree<IDiceASTNode>> parseLet($/;" m class:DiceASTEvaluator file:
-parseTokens src/bjc/dicelang/v2/Parser.java /^ public boolean parseTokens(IList<Token> tokens,$/;" m class:Parser
-parsr src/bjc/dicelang/v2/DiceLangEngine.java /^ private Parser parsr;$/;" f class:DiceLangEngine file:
-passes src/bjc/dicelang/ast/DiceASTOptimizer.java /^ private IList<IOptimizationPass> passes;$/;" f class:DiceASTOptimizer file:
-pickEvaluationType src/bjc/dicelang/v2/Evaluator.java /^ private TopDownTransformResult pickEvaluationType(Node nd) {$/;" m class:Evaluator file:
-pickNode src/bjc/dicelang/ast/optimization/OperationCondenser.java /^ private static TopDownTransformResult pickNode(IDiceASTNode node) {$/;" m class:OperationCondenser file:
-pickOperator src/bjc/dicelang/ast/optimization/OperationCondenser.java /^ private static TopDownTransformResult pickOperator($/;" m class:OperationCondenser file:
-postfixMode src/bjc/dicelang/v2/DiceLangEngine.java /^ private boolean postfixMode;$/;" f class:DiceLangEngine file:
-predicate src/bjc/dicelang/v2/Define.java /^ private Pattern predicate;$/;" f class:Define file:
-prefixMode src/bjc/dicelang/v2/DiceLangEngine.java /^ private boolean prefixMode;$/;" f class:DiceLangEngine file:
-prepareCommand src/bjc/dicelang/examples/DiceExpressionPreparer.java /^ public static IList<String> prepareCommand(String currentLine) {$/;" m class:DiceExpressionPreparer
-printEnv src/bjc/dicelang/examples/DiceLanguageTest.java /^ private static void printEnv(String ln, DiceLanguageState stat) {$/;" m class:DiceLanguageTest file:
-printError src/bjc/dicelang/v2/Errors.java /^ public void printError(ErrorKey key, String... args) {$/;" m class:Errors
-priority src/bjc/dicelang/v2/Define.java /^ public final int priority;$/;" f class:Define
-processCommand src/bjc/dicelang/v2/StreamEngine.java /^ private boolean processCommand(String tk) {$/;" m class:StreamEngine file:
-quotePattern src/bjc/dicelang/v2/DiceLangEngine.java /^ private Pattern quotePattern = Pattern.compile("\\"([^\\\\\\"]*(?:\\\\\\"(?:[^\\\\\\"])*)*)\\"");$/;" f class:DiceLangEngine file:
-reduceStates src/bjc/dicelang/ast/ArithmeticCollapser.java /^ private IPair<IResult, ITree<IDiceASTNode>> reduceStates($/;" m class:ArithmeticCollapser file:
-reducer src/bjc/dicelang/ast/optimization/ArithmeticCollapser.java /^ private BinaryOperator<Integer> reducer;$/;" f class:ArithmeticCollapser file:
-referencesVariable src/bjc/dicelang/ast/DiceASTReferenceChecker.java /^ private IHolder<Boolean> referencesVariable;$/;" f class:DiceASTReferenceChecker file:
-replacer src/bjc/dicelang/v2/Define.java /^ private String replacer;$/;" f class:Define file:
-replacers src/bjc/dicelang/v2/Define.java /^ private Iterator<String> replacers;$/;" f class:Define file:
-resultVal src/bjc/dicelang/v2/Node.java /^ public Evaluator.Result resultVal;$/;" f class:Node
-right src/bjc/dicelang/CompoundDice.java /^ private IDiceExpression right;$/;" f class:CompoundDice file:
-right src/bjc/dicelang/OperatorDiceExpression.java /^ private IDiceExpression right;$/;" f class:OperatorDiceExpression file:
-right src/bjc/dicelang/v2/DiceBox.java /^ private Die right;$/;" f class:DiceBox.CompoundDie file:
-rng src/bjc/dicelang/Die.java /^ private static Random rng = new Random();$/;" f class:Die file:
-rng src/bjc/dicelang/v2/DiceBox.java /^ private static final Random rng = new Random();$/;" f class:DiceBox file:
-roll src/bjc/dicelang/BindingDiceExpression.java /^ public int roll() {$/;" m class:BindingDiceExpression
-roll src/bjc/dicelang/ComplexDice.java /^ public int roll() {$/;" m class:ComplexDice
-roll src/bjc/dicelang/CompoundDice.java /^ public int roll() {$/;" m class:CompoundDice
-roll src/bjc/dicelang/Die.java /^ public int roll() {$/;" m class:Die
-roll src/bjc/dicelang/IDiceExpression.java /^ public int roll();$/;" m interface:IDiceExpression
-roll src/bjc/dicelang/OperatorDiceExpression.java /^ public int roll() {$/;" m class:OperatorDiceExpression
-roll src/bjc/dicelang/ReferenceDiceExpression.java /^ public int roll() {$/;" m class:ReferenceDiceExpression
-roll src/bjc/dicelang/ScalarDie.java /^ public int roll() {$/;" m class:ScalarDie
-roll src/bjc/dicelang/v2/DiceBox.java /^ long roll();$/;" m interface:DiceBox.Die
-roll src/bjc/dicelang/v2/DiceBox.java /^ long[] roll();$/;" m interface:DiceBox.DieList
-roll src/bjc/dicelang/v2/DiceBox.java /^ public long roll() {$/;" m class:DiceBox.CompoundDie
-roll src/bjc/dicelang/v2/DiceBox.java /^ public long roll() {$/;" m class:DiceBox.FudgeDie
-roll src/bjc/dicelang/v2/DiceBox.java /^ public long roll() {$/;" m class:DiceBox.ScalarDie
-roll src/bjc/dicelang/v2/DiceBox.java /^ public long roll() {$/;" m class:DiceBox.SimpleDie
-roll src/bjc/dicelang/v2/DiceBox.java /^ public long[] roll() {$/;" m class:DiceBox.ExplodingDice
-roll src/bjc/dicelang/v2/DiceBox.java /^ public long[] roll() {$/;" m class:DiceBox.SimpleDieList
-rollReference src/bjc/dicelang/examples/DiceLanguageTest.java /^ private static void rollReference(String ln, DiceLanguageState stat) {$/;" m class:DiceLanguageTest file:
-rollSingle src/bjc/dicelang/v2/DiceBox.java /^ long rollSingle();$/;" m interface:DiceBox.Die
-rollSingle src/bjc/dicelang/v2/DiceBox.java /^ public long rollSingle() {$/;" m class:DiceBox.CompoundDie
-rollSingle src/bjc/dicelang/v2/DiceBox.java /^ public long rollSingle() {$/;" m class:DiceBox.FudgeDie
-rollSingle src/bjc/dicelang/v2/DiceBox.java /^ public long rollSingle() {$/;" m class:DiceBox.ScalarDie
-rollSingle src/bjc/dicelang/v2/DiceBox.java /^ public long rollSingle() {$/;" m class:DiceBox.SimpleDie
-run src/bjc/dicelang/v2/DiceLangConsole.java /^ public void run() {$/;" m class:DiceLangConsole
-runCommand src/bjc/dicelang/v2/DiceLangEngine.java /^ public boolean runCommand(String command) {$/;" m class:DiceLangEngine
-sanitize src/bjc/dicelang/ast/DiceASTReferenceSanitizer.java /^ public static ITree<IDiceASTNode> sanitize(ITree<IDiceASTNode> ast,$/;" m class:DiceASTReferenceSanitizer
-scalar src/bjc/dicelang/v2/DiceBox.java /^ public Die scalar;$/;" f class:DiceBox.DieExpression
-scalarDie src/bjc/dicelang/v2/DiceBox.java /^ private static final String scalarDie = "[\\\\+\\\\-]?\\\\d+sd";$/;" f class:DiceBox file:
-scalarDiePattern src/bjc/dicelang/v2/DiceBox.java /^ private static final Pattern scalarDiePattern = Pattern.compile("\\\\A" + scalarDie + "\\\\Z");$/;" f class:DiceBox file:
-searcher src/bjc/dicelang/v2/Define.java /^ private Pattern searcher;$/;" f class:Define file:
-selectiveInline src/bjc/dicelang/ast/DiceASTInliner.java /^ public static ITree<IDiceASTNode> selectiveInline($/;" m class:DiceASTInliner
-shouldContinuePopping src/bjc/dicelang/ast/DiceASTParser.java /^ private static boolean shouldContinuePopping($/;" m class:DiceASTParser file:
-shouldSanitize src/bjc/dicelang/ast/DiceASTReferenceSanitizer.java /^ private static TopDownTransformResult shouldSanitize($/;" m class:DiceASTReferenceSanitizer file:
-shunt src/bjc/dicelang/v2/DiceLangEngine.java /^ private Shunter shunt;$/;" f class:DiceLangEngine file:
-shuntTokens src/bjc/dicelang/v2/Shunter.java /^ public boolean shuntTokens(IList<Token> tks, IList<Token> returned) {$/;" m class:Shunter
-simpleDie src/bjc/dicelang/v2/DiceBox.java /^ private static final String simpleDie = "(?:\\\\d+)?d\\\\d+";$/;" f class:DiceBox file:
-simpleDiePattern src/bjc/dicelang/v2/DiceBox.java /^ private static final Pattern simpleDiePattern = Pattern.compile("\\\\A" + simpleDie + "\\\\Z");$/;" f class:DiceBox file:
-size src/bjc/dicelang/v2/DiceBox.java /^ private Die size;$/;" f class:DiceBox.SimpleDieList file:
-slashPattern src/bjc/dicelang/v2/DiceLangConsole.java /^ private Pattern slashPattern = Pattern.compile("\/((?:\\\\\\\\.|[^\/\\\\\\\\])*)\/");$/;" f class:DiceLangConsole file:
-sortDefns src/bjc/dicelang/v2/DiceLangEngine.java /^ public void sortDefns() {$/;" m class:DiceLangEngine
-source src/bjc/dicelang/v2/DiceBox.java /^ private Die source;$/;" f class:DiceBox.ExplodingDice file:
-streamEng src/bjc/dicelang/v2/DiceLangEngine.java /^ private StreamEngine streamEng;$/;" f class:DiceLangEngine file:
-streams src/bjc/dicelang/v2/StreamEngine.java /^ private Tape<IList<String>> streams;$/;" f class:StreamEngine file:
-stringLitMatcher src/bjc/dicelang/v2/DiceLangEngine.java /^ private Pattern stringLitMatcher = Pattern.compile("\\\\AstringLiteral(\\\\d+)\\\\Z");$/;" f class:DiceLangEngine file:
-stringLits src/bjc/dicelang/v2/DiceLangEngine.java /^ public final IMap<Integer, String> stringLits;$/;" f class:DiceLangEngine
-stringVal src/bjc/dicelang/v2/Evaluator.java /^ public String stringVal;$/;" f class:Evaluator.Result
-stringValue src/bjc/dicelang/v2/Token.java /^ public String stringValue;$/;" f class:Token
-subType src/bjc/dicelang/v2/Define.java /^ private boolean subType;$/;" f class:Define file:
-subtract src/bjc/dicelang/DiceExpressionBuilder.java /^ public DiceExpressionBuilder subtract(IDiceExpression exp) {$/;" m class:DiceExpressionBuilder
-subtract src/bjc/dicelang/DiceExpressionBuilder.java /^ public DiceExpressionBuilder subtract(int num) {$/;" m class:DiceExpressionBuilder
-subtractCollapser src/bjc/dicelang/ast/optimization/ConstantCollapser.java /^ private static final ArithmeticCollapser subtractCollapser = new ArithmeticCollapser($/;" f class:ConstantCollapser file:
-symTable src/bjc/dicelang/v2/DiceLangEngine.java /^ public final IMap<Integer, String> symTable;$/;" f class:DiceLangEngine
-toExpression src/bjc/dicelang/IDiceExpression.java /^ static IDiceExpression toExpression(String expression) {$/;" m interface:IDiceExpression
-toString src/bjc/dicelang/BindingDiceExpression.java /^ public String toString() {$/;" m class:BindingDiceExpression
-toString src/bjc/dicelang/ComplexDice.java /^ public String toString() {$/;" m class:ComplexDice
-toString src/bjc/dicelang/CompoundDice.java /^ public String toString() {$/;" m class:CompoundDice
-toString src/bjc/dicelang/DiceExpressionType.java /^ public String toString() {$/;" m class:DiceExpressionType
-toString src/bjc/dicelang/Die.java /^ public String toString() {$/;" m class:Die
-toString src/bjc/dicelang/OperatorDiceExpression.java /^ public String toString() {$/;" m class:OperatorDiceExpression
-toString src/bjc/dicelang/ReferenceDiceExpression.java /^ public String toString() {$/;" m class:ReferenceDiceExpression
-toString src/bjc/dicelang/ScalarDie.java /^ public String toString() {$/;" m class:ScalarDie
-toString src/bjc/dicelang/ast/ArrayResult.java /^ public String toString() {$/;" m class:ArrayResult
-toString src/bjc/dicelang/ast/DummyResult.java /^ public String toString() {$/;" m class:DummyResult
-toString src/bjc/dicelang/ast/IntegerResult.java /^ public String toString() {$/;" m class:IntegerResult
-toString src/bjc/dicelang/ast/nodes/DiceASTType.java /^ public String toString() {$/;" m class:DiceASTType
-toString src/bjc/dicelang/ast/nodes/DiceLiteralNode.java /^ public String toString() {$/;" m class:DiceLiteralNode
-toString src/bjc/dicelang/ast/nodes/IntegerLiteralNode.java /^ public String toString() {$/;" m class:IntegerLiteralNode
-toString src/bjc/dicelang/ast/nodes/VariableDiceNode.java /^ public String toString() {$/;" m class:VariableDiceNode
-toString src/bjc/dicelang/v2/DiceBox.java /^ public String toString() {$/;" m class:DiceBox.CompoundDie
-toString src/bjc/dicelang/v2/DiceBox.java /^ public String toString() {$/;" m class:DiceBox.DieExpression
-toString src/bjc/dicelang/v2/DiceBox.java /^ public String toString() {$/;" m class:DiceBox.ExplodingDice
-toString src/bjc/dicelang/v2/DiceBox.java /^ public String toString() {$/;" m class:DiceBox.FudgeDie
-toString src/bjc/dicelang/v2/DiceBox.java /^ public String toString() {$/;" m class:DiceBox.ScalarDie
-toString src/bjc/dicelang/v2/DiceBox.java /^ public String toString() {$/;" m class:DiceBox.SimpleDie
-toString src/bjc/dicelang/v2/DiceBox.java /^ public String toString() {$/;" m class:DiceBox.SimpleDieList
-toString src/bjc/dicelang/v2/Evaluator.java /^ public String toString() {$/;" m class:Evaluator.Result
-toString src/bjc/dicelang/v2/Node.java /^ public String toString() {$/;" m class:Node
-toString src/bjc/dicelang/v2/Token.java /^ public String toString() {$/;" m class:Token
-toggleDebug src/bjc/dicelang/v2/DiceLangEngine.java /^ public boolean toggleDebug() {$/;" m class:DiceLangEngine
-togglePostfix src/bjc/dicelang/v2/DiceLangEngine.java /^ public boolean togglePostfix() {$/;" m class:DiceLangEngine
-togglePrefix src/bjc/dicelang/v2/DiceLangEngine.java /^ public boolean togglePrefix() {$/;" m class:DiceLangEngine
-tokenDefns src/bjc/dicelang/v2/DiceLangEngine.java /^ private IList<Define> tokenDefns;$/;" f class:DiceLangEngine file:
-tokenVal src/bjc/dicelang/v2/Node.java /^ public Token tokenVal;$/;" f class:Node
-tokenValues src/bjc/dicelang/v2/Token.java /^ public IList<Token> tokenValues;$/;" f class:Token
-tokenizeGrouping src/bjc/dicelang/v2/DiceLangEngine.java /^ private Token tokenizeGrouping(String token) {$/;" m class:DiceLangEngine file:
-tokenizeLiteral src/bjc/dicelang/v2/DiceLangEngine.java /^ private Token tokenizeLiteral(String token, IMap<String, String> stringLts) {$/;" m class:DiceLangEngine file:
-transformAST src/bjc/dicelang/examples/DiceASTLanguageTest.java /^ private static ITree<IDiceASTNode> transformAST($/;" m class:DiceASTLanguageTest file:
-type src/bjc/dicelang/OperatorDiceExpression.java /^ private DiceExpressionType type;$/;" f class:OperatorDiceExpression file:
-type src/bjc/dicelang/ast/ArithmeticCollapser.java /^ private OperatorDiceNode type;$/;" f class:ArithmeticCollapser file:
-type src/bjc/dicelang/ast/nodes/OperatorDiceNode.java /^ public final DiceOperatorType type;$/;" f class:OperatorDiceNode
-type src/bjc/dicelang/ast/optimization/ArithmeticCollapser.java /^ private OperatorDiceNode type;$/;" f class:ArithmeticCollapser file:
-type src/bjc/dicelang/v2/Evaluator.java /^ public final Type type;$/;" f class:Evaluator.Result
-type src/bjc/dicelang/v2/Node.java /^ public final Type type;$/;" f class:Node
-type src/bjc/dicelang/v2/Token.java /^ public final Type type;$/;" f class:Token
-unaryAdjectives src/bjc/dicelang/v2/Shunter.java /^ private Set<Token.Type> unaryAdjectives;$/;" f class:Shunter file:
-unaryAdverbs src/bjc/dicelang/v2/Shunter.java /^ private Set<Token.Type> unaryAdverbs;$/;" f class:Shunter file:
-val src/bjc/dicelang/v2/DiceBox.java /^ private long val;$/;" f class:DiceBox.ScalarDie file:
-value src/bjc/dicelang/ast/IntegerResult.java /^ private int value;$/;" f class:IntegerResult file:
-value src/bjc/dicelang/ast/nodes/IntegerLiteralNode.java /^ private int value;$/;" f class:IntegerLiteralNode file:
-value src/bjc/dicelang/v2/DiceBox.java /^ public String value() {$/;" m class:DiceBox.DieExpression
-valueOp src/bjc/dicelang/ast/ArithmeticCollapser.java /^ private BinaryOperator<Integer> valueOp;$/;" f class:ArithmeticCollapser file:
-varName src/bjc/dicelang/ast/DiceASTReferenceChecker.java /^ private String varName;$/;" f class:DiceASTReferenceChecker file:
-variableName src/bjc/dicelang/ast/nodes/VariableDiceNode.java /^ private String variableName;$/;" f class:VariableDiceNode file:
-yard src/bjc/dicelang/examples/DiceExpressionPreparer.java /^ private static ShuntingYard<String> yard;$/;" f class:DiceExpressionPreparer file:
+ADD src/bjc/dicelang/Token.java /^ ADD, SUBTRACT,$/;" e enum:Token.Type file:
+ADD src/bjc/dicelang/dice/MathDie.java /^ ADD, SUBTRACT, MULTIPLY;$/;" e enum:MathDie.MathOp file:
+ADD src/bjc/dicelang/v1/DiceExpressionType.java /^ ADD,$/;" e enum:DiceExpressionType file:
+ADD src/bjc/dicelang/v1/ast/nodes/OperatorDiceNode.java /^ ADD(MATH),$/;" e enum:OperatorDiceNode file:
+ARRAY src/bjc/dicelang/Node.java /^ ARRAY, CODE$/;" e enum:Node.GroupType file:
+ARRAY src/bjc/dicelang/v1/ast/ResultType.java /^ ARRAY,$/;" e enum:ResultType file:
+ARRAY src/bjc/dicelang/v1/ast/nodes/DiceOperatorType.java /^ ARRAY,$/;" e enum:DiceOperatorType file:
+ARRAY src/bjc/dicelang/v1/ast/nodes/OperatorDiceNode.java /^ ARRAY(DiceOperatorType.ARRAY),$/;" e enum:OperatorDiceNode file:
+ASSIGN src/bjc/dicelang/v1/ast/nodes/OperatorDiceNode.java /^ ASSIGN(EXPRESSION),$/;" e enum:OperatorDiceNode file:
+ArithmeticCollapser src/bjc/dicelang/v1/ast/ArithmeticCollapser.java /^ public ArithmeticCollapser(OperatorDiceNode type,$/;" m class:ArithmeticCollapser
+ArithmeticCollapser src/bjc/dicelang/v1/ast/ArithmeticCollapser.java /^final class ArithmeticCollapser implements IOperatorCollapser {$/;" c
+ArithmeticCollapser src/bjc/dicelang/v1/ast/optimization/ArithmeticCollapser.java /^ public ArithmeticCollapser(BinaryOperator<Integer> reducr,$/;" m class:ArithmeticCollapser
+ArithmeticCollapser src/bjc/dicelang/v1/ast/optimization/ArithmeticCollapser.java /^class ArithmeticCollapser {$/;" c
+ArrayResult src/bjc/dicelang/v1/ast/ArrayResult.java /^ public ArrayResult(IList<IResult> results) {$/;" m class:ArrayResult
+ArrayResult src/bjc/dicelang/v1/ast/ArrayResult.java /^public class ArrayResult implements IResult {$/;" c
+BIND src/bjc/dicelang/Token.java /^ LET, BIND, COERCE,$/;" e enum:Token.Type file:
+BINOP src/bjc/dicelang/Node.java /^ UNARYOP, BINOP,$/;" e enum:Node.Type file:
+BindingDiceExpression src/bjc/dicelang/v1/BindingDiceExpression.java /^ public BindingDiceExpression(IDiceExpression left,$/;" m class:BindingDiceExpression
+BindingDiceExpression src/bjc/dicelang/v1/BindingDiceExpression.java /^ public BindingDiceExpression(String name, IDiceExpression expression,$/;" m class:BindingDiceExpression
+BindingDiceExpression src/bjc/dicelang/v1/BindingDiceExpression.java /^public class BindingDiceExpression implements IDiceExpression {$/;" c
+CBRACE src/bjc/dicelang/Token.java /^ OBRACE, CBRACE,$/;" e enum:Token.Type file:
+CBRACKET src/bjc/dicelang/Token.java /^ OBRACKET, CBRACKET,$/;" e enum:Token.Type file:
+CODE src/bjc/dicelang/Node.java /^ ARRAY, CODE$/;" e enum:Node.GroupType file:
+COERCE src/bjc/dicelang/Token.java /^ LET, BIND, COERCE,$/;" e enum:Token.Type file:
+COMPOUND src/bjc/dicelang/v1/ast/nodes/OperatorDiceNode.java /^ COMPOUND(DICE),$/;" e enum:OperatorDiceNode file:
+CPAREN src/bjc/dicelang/Token.java /^ OPAREN, CPAREN,$/;" e enum:Token.Type file:
+CoerceSteps src/bjc/dicelang/Evaluator.java /^ private static enum CoerceSteps {$/;" g class:Evaluator
+ComplexDice src/bjc/dicelang/v1/ComplexDice.java /^ public ComplexDice(IDiceExpression nDce, IDiceExpression de) {$/;" m class:ComplexDice
+ComplexDice src/bjc/dicelang/v1/ComplexDice.java /^ public ComplexDice(int nSides, int de) {$/;" m class:ComplexDice
+ComplexDice src/bjc/dicelang/v1/ComplexDice.java /^public class ComplexDice implements IDiceExpression {$/;" c
+CompoundDice src/bjc/dicelang/v1/CompoundDice.java /^ public CompoundDice(IDiceExpression lft, IDiceExpression rght) {$/;" m class:CompoundDice
+CompoundDice src/bjc/dicelang/v1/CompoundDice.java /^ public CompoundDice(String lft, String rght) {$/;" m class:CompoundDice
+CompoundDice src/bjc/dicelang/v1/CompoundDice.java /^ public CompoundDice(String[] exps) {$/;" m class:CompoundDice
+CompoundDice src/bjc/dicelang/v1/CompoundDice.java /^public class CompoundDice implements IDiceExpression {$/;" c
+CompoundDie src/bjc/dicelang/dice/CompoundDie.java /^ public CompoundDie(Die lft, Die rght) {$/;" m class:CompoundDie
+CompoundDie src/bjc/dicelang/dice/CompoundDie.java /^public class CompoundDie implements Die {$/;" c
+CompoundingDie src/bjc/dicelang/dice/CompoundingDie.java /^ public CompoundingDie(Die src, Predicate<Long> compound) {$/;" m class:CompoundingDie
+CompoundingDie src/bjc/dicelang/dice/CompoundingDie.java /^ public CompoundingDie(Die src, Predicate<Long> compound, String patt) {$/;" m class:CompoundingDie
+CompoundingDie src/bjc/dicelang/dice/CompoundingDie.java /^public class CompoundingDie implements Die {$/;" c
+ConstantCollapser src/bjc/dicelang/v1/ast/optimization/ConstantCollapser.java /^public class ConstantCollapser implements IOptimizationPass {$/;" c
+Context src/bjc/dicelang/Evaluator.java /^ private static class Context {$/;" c class:Evaluator
+DEV src/bjc/dicelang/Errors.java /^ WIZARD, DEV$/;" e enum:Errors.ErrorMode file:
+DICE src/bjc/dicelang/EvaluatorResult.java /^ INT, FLOAT, DICE, STRING$/;" e enum:EvaluatorResult.Type file:
+DICE src/bjc/dicelang/v1/ast/nodes/DiceLiteralType.java /^ DICE;$/;" e enum:DiceLiteralType file:
+DICE src/bjc/dicelang/v1/ast/nodes/DiceOperatorType.java /^ DICE,$/;" e enum:DiceOperatorType file:
+DICECONCAT src/bjc/dicelang/Token.java /^ DICE_LIT, DICEGROUP, DICECONCAT, DICELIST,$/;" e enum:Token.Type file:
+DICEGROUP src/bjc/dicelang/Token.java /^ DICE_LIT, DICEGROUP, DICECONCAT, DICELIST,$/;" e enum:Token.Type file:
+DICELIST src/bjc/dicelang/Token.java /^ DICE_LIT, DICEGROUP, DICECONCAT, DICELIST,$/;" e enum:Token.Type file:
+DICE_LIT src/bjc/dicelang/Token.java /^ DICE_LIT, DICEGROUP, DICECONCAT, DICELIST,$/;" e enum:Token.Type file:
+DICE_PREC src/bjc/dicelang/Shunter.java /^ private final int DICE_PREC = 10;$/;" f class:Shunter file:
+DICE_PREC src/bjc/dicelang/v1/examples/DiceExpressionPreparer.java /^ private static final int DICE_PREC = 10;$/;" f class:DiceExpressionPreparer file:
+DIVIDE src/bjc/dicelang/Token.java /^ DIVIDE, IDIVIDE,$/;" e enum:Token.Type file:
+DIVIDE src/bjc/dicelang/v1/DiceExpressionType.java /^ DIVIDE,$/;" e enum:DiceExpressionType file:
+DIVIDE src/bjc/dicelang/v1/ast/nodes/OperatorDiceNode.java /^ DIVIDE(MATH),$/;" e enum:OperatorDiceNode file:
+DUMMY src/bjc/dicelang/v1/ast/ResultType.java /^ DUMMY$/;" e enum:ResultType file:
+Define src/bjc/dicelang/Define.java /^ public Define(int priorty,$/;" m class:Define
+Define src/bjc/dicelang/Define.java /^public class Define implements UnaryOperator<String> {$/;" c
+DiceASTEvaluator src/bjc/dicelang/v1/ast/DiceASTEvaluator.java /^public class DiceASTEvaluator {$/;" c
+DiceASTInliner src/bjc/dicelang/v1/ast/DiceASTInliner.java /^public class DiceASTInliner {$/;" c
+DiceASTLanguageTest src/bjc/dicelang/v1/examples/DiceASTLanguageTest.java /^public class DiceASTLanguageTest {$/;" c
+DiceASTOptimizer src/bjc/dicelang/v1/ast/DiceASTOptimizer.java /^ public DiceASTOptimizer() {$/;" m class:DiceASTOptimizer
+DiceASTOptimizer src/bjc/dicelang/v1/ast/DiceASTOptimizer.java /^public class DiceASTOptimizer {$/;" c
+DiceASTParser src/bjc/dicelang/v1/ast/DiceASTParser.java /^public class DiceASTParser {$/;" c
+DiceASTPragma src/bjc/dicelang/v1/examples/DiceASTPragma.java /^public interface DiceASTPragma extends$/;" i
+DiceASTReferenceChecker src/bjc/dicelang/v1/ast/DiceASTReferenceChecker.java /^ public DiceASTReferenceChecker(IHolder<Boolean> referencesVar,$/;" m class:DiceASTReferenceChecker
+DiceASTReferenceChecker src/bjc/dicelang/v1/ast/DiceASTReferenceChecker.java /^public final class DiceASTReferenceChecker$/;" c
+DiceASTReferenceSanitizer src/bjc/dicelang/v1/ast/DiceASTReferenceSanitizer.java /^public class DiceASTReferenceSanitizer {$/;" c
+DiceASTType src/bjc/dicelang/v1/ast/nodes/DiceASTType.java /^public enum DiceASTType {$/;" g
+DiceASTUtils src/bjc/dicelang/v1/ast/DiceASTUtils.java /^public class DiceASTUtils {$/;" c
+DiceBox src/bjc/dicelang/dice/DiceBox.java /^public class DiceBox {$/;" c
+DiceExpressionBuilder src/bjc/dicelang/v1/DiceExpressionBuilder.java /^ public DiceExpressionBuilder(IDiceExpression seed) {$/;" m class:DiceExpressionBuilder
+DiceExpressionBuilder src/bjc/dicelang/v1/DiceExpressionBuilder.java /^ public DiceExpressionBuilder(int nSides, int nDice) {$/;" m class:DiceExpressionBuilder
+DiceExpressionBuilder src/bjc/dicelang/v1/DiceExpressionBuilder.java /^public class DiceExpressionBuilder {$/;" c
+DiceExpressionParser src/bjc/dicelang/v1/DiceExpressionParser.java /^public class DiceExpressionParser {$/;" c
+DiceExpressionParserTest src/bjc/dicelang/v1/examples/DiceExpressionParserTest.java /^public class DiceExpressionParserTest {$/;" c
+DiceExpressionPreparer src/bjc/dicelang/v1/examples/DiceExpressionPreparer.java /^public class DiceExpressionPreparer {$/;" c
+DiceExpressionType src/bjc/dicelang/v1/DiceExpressionType.java /^public enum DiceExpressionType {$/;" g
+DiceLangConsole src/bjc/dicelang/DiceLangConsole.java /^ public DiceLangConsole(String[] args) {$/;" m class:DiceLangConsole
+DiceLangConsole src/bjc/dicelang/DiceLangConsole.java /^public class DiceLangConsole {$/;" c
+DiceLangEngine src/bjc/dicelang/DiceLangEngine.java /^ public DiceLangEngine() {$/;" m class:DiceLangEngine
+DiceLangEngine src/bjc/dicelang/DiceLangEngine.java /^public class DiceLangEngine {$/;" c
+DiceLanguageState src/bjc/dicelang/v1/examples/DiceLanguageState.java /^ public DiceLanguageState() {$/;" m class:DiceLanguageState
+DiceLanguageState src/bjc/dicelang/v1/examples/DiceLanguageState.java /^ public DiceLanguageState(DiceExpressionParser left,$/;" m class:DiceLanguageState
+DiceLanguageState src/bjc/dicelang/v1/examples/DiceLanguageState.java /^public class DiceLanguageState$/;" c
+DiceLanguageTest src/bjc/dicelang/v1/examples/DiceLanguageTest.java /^public class DiceLanguageTest {$/;" c
+DiceLiteralNode src/bjc/dicelang/v1/ast/nodes/DiceLiteralNode.java /^ public DiceLiteralNode(IDiceExpression exp) {$/;" m class:DiceLiteralNode
+DiceLiteralNode src/bjc/dicelang/v1/ast/nodes/DiceLiteralNode.java /^public class DiceLiteralNode implements ILiteralDiceNode {$/;" c
+DiceLiteralType src/bjc/dicelang/v1/ast/nodes/DiceLiteralType.java /^public enum DiceLiteralType {$/;" g
+DiceOperatorType src/bjc/dicelang/v1/ast/nodes/DiceOperatorType.java /^public enum DiceOperatorType {$/;" g
+Die src/bjc/dicelang/dice/Die.java /^public interface Die {$/;" i
+Die src/bjc/dicelang/v1/Die.java /^ public Die(int nSides) {$/;" m class:Die
+Die src/bjc/dicelang/v1/Die.java /^public class Die implements IDiceExpression {$/;" c
+DieExpression src/bjc/dicelang/dice/DieExpression.java /^ public DieExpression(Die scal) {$/;" m class:DieExpression
+DieExpression src/bjc/dicelang/dice/DieExpression.java /^ public DieExpression(DieList lst) {$/;" m class:DieExpression
+DieExpression src/bjc/dicelang/dice/DieExpression.java /^public class DieExpression {$/;" c
+DieList src/bjc/dicelang/dice/DieList.java /^public interface DieList {$/;" i
+Digits src/bjc/dicelang/DoubleMatcher.java /^ private static final String Digits =$/;" f class:DoubleMatcher file:
+DoubleMatcher src/bjc/dicelang/DoubleMatcher.java /^public class DoubleMatcher {$/;" c
+DummyResult src/bjc/dicelang/v1/ast/DummyResult.java /^ public DummyResult(String data) {$/;" m class:DummyResult
+DummyResult src/bjc/dicelang/v1/ast/DummyResult.java /^public class DummyResult implements IResult {$/;" c
+EK_CONS_INVDEFINE src/bjc/dicelang/Errors.java /^ EK_CONS_INVDEFINE,$/;" e enum:Errors.ErrorKey file:
+EK_CONS_INVPRAG src/bjc/dicelang/Errors.java /^ EK_CONS_INVPRAG,$/;" e enum:Errors.ErrorKey file:
+EK_DFN_PREDSYN src/bjc/dicelang/Errors.java /^ EK_DFN_PREDSYN,$/;" e enum:Errors.ErrorKey file:
+EK_DFN_RECUR src/bjc/dicelang/Errors.java /^ EK_DFN_RECUR,$/;" e enum:Errors.ErrorKey file:
+EK_DFN_SRCSYN src/bjc/dicelang/Errors.java /^ EK_DFN_SRCSYN,$/;" e enum:Errors.ErrorKey file:
+EK_ENG_NOCLOSING src/bjc/dicelang/Errors.java /^ EK_ENG_NOCLOSING,$/;" e enum:Errors.ErrorKey file:
+EK_ENG_NOOPENING src/bjc/dicelang/Errors.java /^ EK_ENG_NOOPENING,$/;" e enum:Errors.ErrorKey file:
+EK_EVAL_DIVDICE src/bjc/dicelang/Errors.java /^ EK_EVAL_DIVDICE,$/;" e enum:Errors.ErrorKey file:
+EK_EVAL_DIVZERO src/bjc/dicelang/Errors.java /^ EK_EVAL_DIVZERO,$/;" e enum:Errors.ErrorKey file:
+EK_EVAL_INVBIN src/bjc/dicelang/Errors.java /^ EK_EVAL_INVBIN,$/;" e enum:Errors.ErrorKey file:
+EK_EVAL_INVDGROUP src/bjc/dicelang/Errors.java /^ EK_EVAL_INVDGROUP,$/;" e enum:Errors.ErrorKey file:
+EK_EVAL_INVDICE src/bjc/dicelang/Errors.java /^ EK_EVAL_INVDICE,$/;" e enum:Errors.ErrorKey file:
+EK_EVAL_INVNODE src/bjc/dicelang/Errors.java /^ EK_EVAL_INVNODE,$/;" e enum:Errors.ErrorKey file:
+EK_EVAL_INVUNARY src/bjc/dicelang/Errors.java /^ EK_EVAL_INVUNARY,$/;" e enum:Errors.ErrorKey file:
+EK_EVAL_MISMATH src/bjc/dicelang/Errors.java /^ EK_EVAL_MISMATH,$/;" e enum:Errors.ErrorKey file:
+EK_EVAL_STRINGMATH src/bjc/dicelang/Errors.java /^ EK_EVAL_STRINGMATH,$/;" e enum:Errors.ErrorKey file:
+EK_EVAL_UNBIN src/bjc/dicelang/Errors.java /^ EK_EVAL_UNBIN,$/;" e enum:Errors.ErrorKey file:
+EK_EVAL_UNDICE src/bjc/dicelang/Errors.java /^ EK_EVAL_UNDICE,$/;" e enum:Errors.ErrorKey file:
+EK_EVAL_UNMATH src/bjc/dicelang/Errors.java /^ EK_EVAL_UNMATH,$/;" e enum:Errors.ErrorKey file:
+EK_EVAL_UNTOK src/bjc/dicelang/Errors.java /^ EK_EVAL_UNTOK,$/;" e enum:Errors.ErrorKey file:
+EK_EVAL_UNUNARY src/bjc/dicelang/Errors.java /^ EK_EVAL_UNUNARY,$/;" e enum:Errors.ErrorKey file:
+EK_PARSE_BINARY src/bjc/dicelang/Errors.java /^ EK_PARSE_BINARY,$/;" e enum:Errors.ErrorKey file:
+EK_PARSE_INVTOKEN src/bjc/dicelang/Errors.java /^ EK_PARSE_INVTOKEN,$/;" e enum:Errors.ErrorKey file:
+EK_PARSE_NOCLOSE src/bjc/dicelang/Errors.java /^ EK_PARSE_NOCLOSE,$/;" e enum:Errors.ErrorKey file:
+EK_PARSE_UNCLOSE src/bjc/dicelang/Errors.java /^ EK_PARSE_UNCLOSE,$/;" e enum:Errors.ErrorKey file:
+EK_PARSE_UNOPERAND src/bjc/dicelang/Errors.java /^ EK_PARSE_UNOPERAND,$/;" e enum:Errors.ErrorKey file:
+EK_SHUNT_INVSEP src/bjc/dicelang/Errors.java /^ EK_SHUNT_INVSEP,$/;" e enum:Errors.ErrorKey file:
+EK_SHUNT_NOGROUP src/bjc/dicelang/Errors.java /^ EK_SHUNT_NOGROUP,$/;" e enum:Errors.ErrorKey file:
+EK_SHUNT_NOOP src/bjc/dicelang/Errors.java /^ EK_SHUNT_NOOP,$/;" e enum:Errors.ErrorKey file:
+EK_SHUNT_NOTADJ src/bjc/dicelang/Errors.java /^ EK_SHUNT_NOTADJ,$/;" e enum:Errors.ErrorKey file:
+EK_SHUNT_NOTADV src/bjc/dicelang/Errors.java /^ EK_SHUNT_NOTADV,$/;" e enum:Errors.ErrorKey file:
+EK_STRM_INVCOM src/bjc/dicelang/Errors.java /^ EK_STRM_INVCOM,$/;" e enum:Errors.ErrorKey file:
+EK_STRM_LAST src/bjc/dicelang/Errors.java /^ EK_STRM_LAST,$/;" e enum:Errors.ErrorKey file:
+EK_STRM_NONEX src/bjc/dicelang/Errors.java /^ EK_STRM_NONEX,$/;" e enum:Errors.ErrorKey file:
+EK_TOK_INVBASE src/bjc/dicelang/Errors.java /^ EK_TOK_INVBASE,$/;" e enum:Errors.ErrorKey file:
+EK_TOK_INVFLEX src/bjc/dicelang/Errors.java /^ EK_TOK_INVFLEX,$/;" e enum:Errors.ErrorKey file:
+EK_TOK_UNGROUP src/bjc/dicelang/Errors.java /^ EK_TOK_UNGROUP,$/;" e enum:Errors.ErrorKey file:
+EXPRESSION src/bjc/dicelang/v1/ast/nodes/DiceOperatorType.java /^ EXPRESSION;$/;" e enum:DiceOperatorType file:
+EXPR_PREC src/bjc/dicelang/Shunter.java /^ private final int EXPR_PREC = 0;$/;" f class:Shunter file:
+EXPR_PREC src/bjc/dicelang/v1/examples/DiceExpressionPreparer.java /^ private static final int EXPR_PREC = 0;$/;" f class:DiceExpressionPreparer file:
+ErrorKey src/bjc/dicelang/Errors.java /^ public static enum ErrorKey {$/;" g class:Errors
+ErrorMode src/bjc/dicelang/Errors.java /^ public static enum ErrorMode {$/;" g class:Errors
+Errors src/bjc/dicelang/Errors.java /^public class Errors {$/;" c
+Evaluator src/bjc/dicelang/Evaluator.java /^ public Evaluator(DiceLangEngine en) {$/;" m class:Evaluator
+Evaluator src/bjc/dicelang/Evaluator.java /^public class Evaluator {$/;" c
+EvaluatorResult src/bjc/dicelang/EvaluatorResult.java /^ public EvaluatorResult(EvaluatorResult.Type typ) {$/;" m class:EvaluatorResult
+EvaluatorResult src/bjc/dicelang/EvaluatorResult.java /^ public EvaluatorResult(EvaluatorResult.Type typ, Die dVal) {$/;" m class:EvaluatorResult
+EvaluatorResult src/bjc/dicelang/EvaluatorResult.java /^ public EvaluatorResult(EvaluatorResult.Type typ, DieExpression dVal) {$/;" m class:EvaluatorResult
+EvaluatorResult src/bjc/dicelang/EvaluatorResult.java /^ public EvaluatorResult(EvaluatorResult.Type typ, DieList dVal) {$/;" m class:EvaluatorResult
+EvaluatorResult src/bjc/dicelang/EvaluatorResult.java /^ public EvaluatorResult(EvaluatorResult.Type typ, EvaluatorResult orig) {$/;" m class:EvaluatorResult
+EvaluatorResult src/bjc/dicelang/EvaluatorResult.java /^ public EvaluatorResult(EvaluatorResult.Type typ, ITree<Node> orig) {$/;" m class:EvaluatorResult
+EvaluatorResult src/bjc/dicelang/EvaluatorResult.java /^ public EvaluatorResult(EvaluatorResult.Type typ, Node orig) {$/;" m class:EvaluatorResult
+EvaluatorResult src/bjc/dicelang/EvaluatorResult.java /^ public EvaluatorResult(EvaluatorResult.Type typ, String strang) {$/;" m class:EvaluatorResult
+EvaluatorResult src/bjc/dicelang/EvaluatorResult.java /^ public EvaluatorResult(EvaluatorResult.Type typ, double dVal) {$/;" m class:EvaluatorResult
+EvaluatorResult src/bjc/dicelang/EvaluatorResult.java /^ public EvaluatorResult(EvaluatorResult.Type typ, long iVal) {$/;" m class:EvaluatorResult
+EvaluatorResult src/bjc/dicelang/EvaluatorResult.java /^public class EvaluatorResult {$/;" c
+Exp src/bjc/dicelang/DoubleMatcher.java /^ private static final String Exp =$/;" f class:DoubleMatcher file:
+ExplodingDice src/bjc/dicelang/dice/ExplodingDice.java /^ public ExplodingDice(Die src, Predicate<Long> explode) {$/;" m class:ExplodingDice
+ExplodingDice src/bjc/dicelang/dice/ExplodingDice.java /^ public ExplodingDice(Die src, Predicate<Long> explode, String patt,$/;" m class:ExplodingDice
+ExplodingDice src/bjc/dicelang/dice/ExplodingDice.java /^ public ExplodingDice(Die src, Predicate<Long> explode, boolean penetrate) {$/;" m class:ExplodingDice
+ExplodingDice src/bjc/dicelang/dice/ExplodingDice.java /^public class ExplodingDice implements DieList {$/;" c
+FAIL src/bjc/dicelang/Evaluator.java /^ private static Node FAIL() {$/;" m class:Evaluator file:
+FAIL src/bjc/dicelang/Evaluator.java /^ private static Node FAIL(EvaluatorResult res) {$/;" m class:Evaluator file:
+FAIL src/bjc/dicelang/Evaluator.java /^ private static Node FAIL(ITree<Node> orig) {$/;" m class:Evaluator file:
+FAIL src/bjc/dicelang/Evaluator.java /^ private static Node FAIL(Node orig) {$/;" m class:Evaluator file:
+FAILURE src/bjc/dicelang/EvaluatorResult.java /^ FAILURE,$/;" e enum:EvaluatorResult.Type file:
+FLOAT src/bjc/dicelang/Evaluator.java /^ INTEGER, FLOAT;$/;" e enum:Evaluator.CoerceSteps file:
+FLOAT src/bjc/dicelang/EvaluatorResult.java /^ INT, FLOAT, DICE, STRING$/;" e enum:EvaluatorResult.Type file:
+FLOAT_LIT src/bjc/dicelang/Token.java /^ INT_LIT, FLOAT_LIT, STRING_LIT,$/;" e enum:Token.Type file:
+FudgeDie src/bjc/dicelang/dice/FudgeDie.java /^ public FudgeDie(long nDice) {$/;" m class:FudgeDie
+FudgeDie src/bjc/dicelang/dice/FudgeDie.java /^public class FudgeDie implements Die {$/;" c
+GROUP src/bjc/dicelang/Node.java /^ GROUP, OGROUP,$/;" e enum:Node.Type file:
+GROUP src/bjc/dicelang/v1/ast/nodes/OperatorDiceNode.java /^ GROUP(DICE),$/;" e enum:OperatorDiceNode file:
+GROUPSEP src/bjc/dicelang/Token.java /^ NIL, GROUPSEP, TOKGROUP,$/;" e enum:Token.Type file:
+GroupType src/bjc/dicelang/Node.java /^ public static enum GroupType {$/;" g class:Node
+HexDigits src/bjc/dicelang/DoubleMatcher.java /^ private static final String HexDigits =$/;" f class:DoubleMatcher file:
+IDIVIDE src/bjc/dicelang/Token.java /^ DIVIDE, IDIVIDE,$/;" e enum:Token.Type file:
+IDiceASTNode src/bjc/dicelang/v1/ast/nodes/IDiceASTNode.java /^public interface IDiceASTNode {$/;" i
+IDiceExpression src/bjc/dicelang/v1/IDiceExpression.java /^public interface IDiceExpression {$/;" i
+ILiteralDiceNode src/bjc/dicelang/v1/ast/nodes/ILiteralDiceNode.java /^public interface ILiteralDiceNode extends IDiceASTNode {$/;" i
+INT src/bjc/dicelang/EvaluatorResult.java /^ INT, FLOAT, DICE, STRING$/;" e enum:EvaluatorResult.Type file:
+INTEGER src/bjc/dicelang/Evaluator.java /^ INTEGER, FLOAT;$/;" e enum:Evaluator.CoerceSteps file:
+INTEGER src/bjc/dicelang/v1/ast/ResultType.java /^ INTEGER,$/;" e enum:ResultType file:
+INTEGER src/bjc/dicelang/v1/ast/nodes/DiceLiteralType.java /^ INTEGER,$/;" e enum:DiceLiteralType file:
+INT_LIT src/bjc/dicelang/Token.java /^ INT_LIT, FLOAT_LIT, STRING_LIT,$/;" e enum:Token.Type file:
+IOperatorCollapser src/bjc/dicelang/v1/ast/IOperatorCollapser.java /^public interface IOperatorCollapser extends$/;" i
+IOptimizationPass src/bjc/dicelang/v1/ast/optimization/IOptimizationPass.java /^public interface IOptimizationPass {$/;" i
+IResult src/bjc/dicelang/v1/ast/IResult.java /^public interface IResult {$/;" i
+IntegerLiteralNode src/bjc/dicelang/v1/ast/nodes/IntegerLiteralNode.java /^ public IntegerLiteralNode(int val) {$/;" m class:IntegerLiteralNode
+IntegerLiteralNode src/bjc/dicelang/v1/ast/nodes/IntegerLiteralNode.java /^public class IntegerLiteralNode implements ILiteralDiceNode {$/;" c
+IntegerResult src/bjc/dicelang/v1/ast/IntegerResult.java /^ public IntegerResult(int val) {$/;" m class:IntegerResult
+IntegerResult src/bjc/dicelang/v1/ast/IntegerResult.java /^public class IntegerResult implements IResult {$/;" c
+LET src/bjc/dicelang/Token.java /^ LET, BIND, COERCE,$/;" e enum:Token.Type file:
+LET src/bjc/dicelang/v1/ast/nodes/OperatorDiceNode.java /^ LET(EXPRESSION);$/;" e enum:OperatorDiceNode file:
+LINE src/bjc/dicelang/Define.java /^ public static enum Type { LINE, TOKEN }$/;" e enum:Define.Type file:
+LITERAL src/bjc/dicelang/v1/ast/nodes/DiceASTType.java /^ LITERAL,$/;" e enum:DiceASTType file:
+MATH src/bjc/dicelang/v1/ast/nodes/DiceOperatorType.java /^ MATH,$/;" e enum:DiceOperatorType file:
+MATH_PREC src/bjc/dicelang/Shunter.java /^ private final int MATH_PREC = 20;$/;" f class:Shunter file:
+MATH_PREC src/bjc/dicelang/v1/examples/DiceExpressionPreparer.java /^ private static final int MATH_PREC = 20;$/;" f class:DiceExpressionPreparer file:
+MAX_RECURS src/bjc/dicelang/Define.java /^ public static final int MAX_RECURS = 10;$/;" f class:Define
+MULTIPLY src/bjc/dicelang/Token.java /^ MULTIPLY,$/;" e enum:Token.Type file:
+MULTIPLY src/bjc/dicelang/dice/MathDie.java /^ ADD, SUBTRACT, MULTIPLY;$/;" e enum:MathDie.MathOp file:
+MULTIPLY src/bjc/dicelang/v1/DiceExpressionType.java /^ MULTIPLY,$/;" e enum:DiceExpressionType file:
+MULTIPLY src/bjc/dicelang/v1/ast/nodes/OperatorDiceNode.java /^ MULTIPLY(MATH),$/;" e enum:OperatorDiceNode file:
+MathDie src/bjc/dicelang/dice/MathDie.java /^ public MathDie(MathDie.MathOp op, Die lft, Die rght) {$/;" m class:MathDie
+MathDie src/bjc/dicelang/dice/MathDie.java /^public class MathDie implements Die {$/;" c
+MathOp src/bjc/dicelang/dice/MathDie.java /^ public static enum MathOp {$/;" g class:MathDie
+NIL src/bjc/dicelang/Token.java /^ NIL, GROUPSEP, TOKGROUP,$/;" e enum:Token.Type file:
+NIL_TOKEN src/bjc/dicelang/Token.java /^ public final static Token NIL_TOKEN = new Token(Type.NIL);$/;" f class:Token
+Node src/bjc/dicelang/Node.java /^ public Node(Type typ) {$/;" m class:Node
+Node src/bjc/dicelang/Node.java /^ public Node(Type typ, EvaluatorResult res) {$/;" m class:Node
+Node src/bjc/dicelang/Node.java /^ public Node(Type typ, GroupType grupType) {$/;" m class:Node
+Node src/bjc/dicelang/Node.java /^ public Node(Type typ, Token tokenVl) {$/;" m class:Node
+Node src/bjc/dicelang/Node.java /^ public Node(Type typ, Token.Type opType) {$/;" m class:Node
+Node src/bjc/dicelang/Node.java /^public class Node {$/;" c
+OBRACE src/bjc/dicelang/Token.java /^ OBRACE, CBRACE,$/;" e enum:Token.Type file:
+OBRACKET src/bjc/dicelang/Token.java /^ OBRACKET, CBRACKET,$/;" e enum:Token.Type file:
+OGROUP src/bjc/dicelang/Node.java /^ GROUP, OGROUP,$/;" e enum:Node.Type file:
+OPAREN src/bjc/dicelang/Token.java /^ OPAREN, CPAREN,$/;" e enum:Token.Type file:
+OPERATOR src/bjc/dicelang/v1/ast/nodes/DiceASTType.java /^ OPERATOR,$/;" e enum:DiceASTType file:
+OperationCondenser src/bjc/dicelang/v1/ast/optimization/OperationCondenser.java /^public class OperationCondenser {$/;" c
+OperatorDiceExpression src/bjc/dicelang/v1/OperatorDiceExpression.java /^ public OperatorDiceExpression(IDiceExpression rght,$/;" m class:OperatorDiceExpression
+OperatorDiceExpression src/bjc/dicelang/v1/OperatorDiceExpression.java /^public class OperatorDiceExpression implements IDiceExpression {$/;" c
+OperatorDiceNode src/bjc/dicelang/v1/ast/nodes/OperatorDiceNode.java /^ private OperatorDiceNode(DiceOperatorType ty) {$/;" m class:OperatorDiceNode file:
+OperatorDiceNode src/bjc/dicelang/v1/ast/nodes/OperatorDiceNode.java /^public enum OperatorDiceNode implements IDiceASTNode {$/;" g
+Parser src/bjc/dicelang/Parser.java /^ public Parser() {$/;" m class:Parser
+Parser src/bjc/dicelang/Parser.java /^public class Parser {$/;" c
+PolyhedralDice src/bjc/dicelang/v1/PolyhedralDice.java /^public class PolyhedralDice {$/;" c
+RESULT src/bjc/dicelang/Node.java /^ RESULT$/;" e enum:Node.Type file:
+ROOT src/bjc/dicelang/Node.java /^ ROOT, TOKREF,$/;" e enum:Node.Type file:
+ReferenceDiceExpression src/bjc/dicelang/v1/ReferenceDiceExpression.java /^ public ReferenceDiceExpression(String nme,$/;" m class:ReferenceDiceExpression
+ReferenceDiceExpression src/bjc/dicelang/v1/ReferenceDiceExpression.java /^public class ReferenceDiceExpression implements IDiceExpression {$/;" c
+ResultType src/bjc/dicelang/v1/ast/ResultType.java /^public enum ResultType {$/;" g
+STRING src/bjc/dicelang/EvaluatorResult.java /^ INT, FLOAT, DICE, STRING$/;" e enum:EvaluatorResult.Type file:
+STRING_LIT src/bjc/dicelang/Token.java /^ INT_LIT, FLOAT_LIT, STRING_LIT,$/;" e enum:Token.Type file:
+SUBTRACT src/bjc/dicelang/Token.java /^ ADD, SUBTRACT,$/;" e enum:Token.Type file:
+SUBTRACT src/bjc/dicelang/dice/MathDie.java /^ ADD, SUBTRACT, MULTIPLY;$/;" e enum:MathDie.MathOp file:
+SUBTRACT src/bjc/dicelang/v1/DiceExpressionType.java /^ SUBTRACT;$/;" e enum:DiceExpressionType file:
+SUBTRACT src/bjc/dicelang/v1/ast/nodes/OperatorDiceNode.java /^ SUBTRACT(MATH),$/;" e enum:OperatorDiceNode file:
+ScalarDie src/bjc/dicelang/dice/ScalarDie.java /^ public ScalarDie(long vl) {$/;" m class:ScalarDie
+ScalarDie src/bjc/dicelang/dice/ScalarDie.java /^public class ScalarDie implements Die {$/;" c
+ScalarDie src/bjc/dicelang/v1/ScalarDie.java /^ public ScalarDie(int num) {$/;" m class:ScalarDie
+ScalarDie src/bjc/dicelang/v1/ScalarDie.java /^public class ScalarDie implements IDiceExpression {$/;" c
+Shunter src/bjc/dicelang/Shunter.java /^ public Shunter() {$/;" m class:Shunter
+Shunter src/bjc/dicelang/Shunter.java /^public class Shunter {$/;" c
+SimpleDie src/bjc/dicelang/dice/SimpleDie.java /^ public SimpleDie(Die nDice, Die size) {$/;" m class:SimpleDie
+SimpleDie src/bjc/dicelang/dice/SimpleDie.java /^ public SimpleDie(Die nDice, long size) {$/;" m class:SimpleDie
+SimpleDie src/bjc/dicelang/dice/SimpleDie.java /^ public SimpleDie(long nDice, Die size) {$/;" m class:SimpleDie
+SimpleDie src/bjc/dicelang/dice/SimpleDie.java /^ public SimpleDie(long nDice, long size) {$/;" m class:SimpleDie
+SimpleDie src/bjc/dicelang/dice/SimpleDie.java /^public class SimpleDie implements Die {$/;" c
+SimpleDieList src/bjc/dicelang/dice/SimpleDieList.java /^ public SimpleDieList(Die nDice, Die sze) {$/;" m class:SimpleDieList
+SimpleDieList src/bjc/dicelang/dice/SimpleDieList.java /^public class SimpleDieList implements DieList {$/;" c
+StreamEngine src/bjc/dicelang/StreamEngine.java /^ public StreamEngine(DiceLangEngine engine) {$/;" m class:StreamEngine
+StreamEngine src/bjc/dicelang/StreamEngine.java /^public class StreamEngine {$/;" c
+TAGOP src/bjc/dicelang/Token.java /^ TAGOP, TAGOPR$/;" e enum:Token.Type file:
+TAGOPR src/bjc/dicelang/Token.java /^ TAGOP, TAGOPR$/;" e enum:Token.Type file:
+TOKEN src/bjc/dicelang/Define.java /^ public static enum Type { LINE, TOKEN }$/;" e enum:Define.Type file:
+TOKGROUP src/bjc/dicelang/Token.java /^ NIL, GROUPSEP, TOKGROUP,$/;" e enum:Token.Type file:
+TOKREF src/bjc/dicelang/Node.java /^ ROOT, TOKREF,$/;" e enum:Node.Type file:
+Token src/bjc/dicelang/Token.java /^ public Token(Type typ) {$/;" m class:Token
+Token src/bjc/dicelang/Token.java /^ public Token(Type typ, DieExpression val) {$/;" m class:Token
+Token src/bjc/dicelang/Token.java /^ public Token(Type typ, IList<Token> tkVals) {$/;" m class:Token
+Token src/bjc/dicelang/Token.java /^ public Token(Type typ, double val) {$/;" m class:Token
+Token src/bjc/dicelang/Token.java /^ public Token(Type typ, long val) {$/;" m class:Token
+Token src/bjc/dicelang/Token.java /^public class Token {$/;" c
+Tokenizer src/bjc/dicelang/Tokenizer.java /^ public Tokenizer(DiceLangEngine engine) {$/;" m class:Tokenizer
+Tokenizer src/bjc/dicelang/Tokenizer.java /^public class Tokenizer {$/;" c
+Type src/bjc/dicelang/Define.java /^ public static enum Type { LINE, TOKEN }$/;" g class:Define
+Type src/bjc/dicelang/EvaluatorResult.java /^ public static enum Type {$/;" g class:EvaluatorResult
+Type src/bjc/dicelang/Node.java /^ public static enum Type {$/;" g class:Node
+Type src/bjc/dicelang/Token.java /^ public static enum Type {$/;" g class:Token
+UNARYOP src/bjc/dicelang/Node.java /^ UNARYOP, BINOP,$/;" e enum:Node.Type file:
+VARIABLE src/bjc/dicelang/v1/ast/nodes/DiceASTType.java /^ VARIABLE;$/;" e enum:DiceASTType file:
+VREF src/bjc/dicelang/Token.java /^ VREF,$/;" e enum:Token.Type file:
+VariableDiceNode src/bjc/dicelang/v1/ast/nodes/VariableDiceNode.java /^ public VariableDiceNode(String varName) {$/;" m class:VariableDiceNode
+VariableDiceNode src/bjc/dicelang/v1/ast/nodes/VariableDiceNode.java /^public class VariableDiceNode implements IDiceASTNode {$/;" c
+WIZARD src/bjc/dicelang/Errors.java /^ WIZARD, DEV$/;" e enum:Errors.ErrorMode file:
+accept src/bjc/dicelang/v1/ast/DiceASTReferenceChecker.java /^ public void accept(IDiceASTNode astNode) {$/;" m class:DiceASTReferenceChecker
+actions src/bjc/dicelang/v1/examples/DiceASTLanguageTest.java /^ private static IMap<String, DiceASTPragma> actions;$/;" f class:DiceASTLanguageTest file:
+acts src/bjc/dicelang/v1/examples/DiceLanguageTest.java /^ private static Map<String, BiConsumer<String, DiceLanguageState>> acts;$/;" f class:DiceLanguageTest file:
+add src/bjc/dicelang/v1/DiceExpressionBuilder.java /^ public DiceExpressionBuilder add(IDiceExpression exp) {$/;" m class:DiceExpressionBuilder
+add src/bjc/dicelang/v1/DiceExpressionBuilder.java /^ public DiceExpressionBuilder add(int num) {$/;" m class:DiceExpressionBuilder
+addLineDefine src/bjc/dicelang/DiceLangEngine.java /^ public void addLineDefine(Define dfn) {$/;" m class:DiceLangEngine
+addPass src/bjc/dicelang/v1/ast/DiceASTOptimizer.java /^ public void addPass(IOptimizationPass pass) {$/;" m class:DiceASTOptimizer
+addTokenDefine src/bjc/dicelang/DiceLangEngine.java /^ public void addTokenDefine(Define dfn) {$/;" m class:DiceLangEngine
+additionCollapser src/bjc/dicelang/v1/ast/optimization/ConstantCollapser.java /^ private static final ArithmeticCollapser additionCollapser = new ArithmeticCollapser($/;" f class:ConstantCollapser file:
+apply src/bjc/dicelang/Define.java /^ public String apply(String tok) {$/;" m class:Define
+apply src/bjc/dicelang/v1/ast/ArithmeticCollapser.java /^ public IPair<IResult, ITree<IDiceASTNode>> apply($/;" m class:ArithmeticCollapser
+arrayContents src/bjc/dicelang/v1/ast/ArrayResult.java /^ private IList<IResult> arrayContents;$/;" f class:ArrayResult file:
+bake src/bjc/dicelang/v1/DiceExpressionBuilder.java /^ public IDiceExpression bake() {$/;" m class:DiceExpressionBuilder
+baking src/bjc/dicelang/v1/DiceExpressionBuilder.java /^ private IDiceExpression baking;$/;" f class:DiceExpressionBuilder file:
+bindLiteralValue src/bjc/dicelang/v1/ast/DiceASTEvaluator.java /^ private static IResult bindLiteralValue(IDiceASTNode leafNode,$/;" m class:DiceASTEvaluator file:
+bjc.dicelang src/bjc/dicelang/Define.java /^package bjc.dicelang;$/;" p
+bjc.dicelang src/bjc/dicelang/DiceLangConsole.java /^package bjc.dicelang;$/;" p
+bjc.dicelang src/bjc/dicelang/DiceLangEngine.java /^package bjc.dicelang;$/;" p
+bjc.dicelang src/bjc/dicelang/DoubleMatcher.java /^package bjc.dicelang;$/;" p
+bjc.dicelang src/bjc/dicelang/Errors.java /^package bjc.dicelang;$/;" p
+bjc.dicelang src/bjc/dicelang/Evaluator.java /^package bjc.dicelang;$/;" p
+bjc.dicelang src/bjc/dicelang/EvaluatorResult.java /^package bjc.dicelang;$/;" p
+bjc.dicelang src/bjc/dicelang/Node.java /^package bjc.dicelang;$/;" p
+bjc.dicelang src/bjc/dicelang/Parser.java /^package bjc.dicelang;$/;" p
+bjc.dicelang src/bjc/dicelang/Shunter.java /^package bjc.dicelang;$/;" p
+bjc.dicelang src/bjc/dicelang/StreamEngine.java /^package bjc.dicelang;$/;" p
+bjc.dicelang src/bjc/dicelang/Token.java /^package bjc.dicelang;$/;" p
+bjc.dicelang src/bjc/dicelang/Tokenizer.java /^package bjc.dicelang;$/;" p
+bjc.dicelang.dice src/bjc/dicelang/dice/CompoundDie.java /^package bjc.dicelang.dice;$/;" p
+bjc.dicelang.dice src/bjc/dicelang/dice/CompoundingDie.java /^package bjc.dicelang.dice;$/;" p
+bjc.dicelang.dice src/bjc/dicelang/dice/DiceBox.java /^package bjc.dicelang.dice;$/;" p
+bjc.dicelang.dice src/bjc/dicelang/dice/Die.java /^package bjc.dicelang.dice;$/;" p
+bjc.dicelang.dice src/bjc/dicelang/dice/DieExpression.java /^package bjc.dicelang.dice;$/;" p
+bjc.dicelang.dice src/bjc/dicelang/dice/DieList.java /^package bjc.dicelang.dice;$/;" p
+bjc.dicelang.dice src/bjc/dicelang/dice/ExplodingDice.java /^package bjc.dicelang.dice;$/;" p
+bjc.dicelang.dice src/bjc/dicelang/dice/FudgeDie.java /^package bjc.dicelang.dice;$/;" p
+bjc.dicelang.dice src/bjc/dicelang/dice/MathDie.java /^package bjc.dicelang.dice;$/;" p
+bjc.dicelang.dice src/bjc/dicelang/dice/ScalarDie.java /^package bjc.dicelang.dice;$/;" p
+bjc.dicelang.dice src/bjc/dicelang/dice/SimpleDie.java /^package bjc.dicelang.dice;$/;" p
+bjc.dicelang.dice src/bjc/dicelang/dice/SimpleDieList.java /^package bjc.dicelang.dice;$/;" p
+bjc.dicelang.v1 src/bjc/dicelang/v1/BindingDiceExpression.java /^package bjc.dicelang.v1;$/;" p
+bjc.dicelang.v1 src/bjc/dicelang/v1/ComplexDice.java /^package bjc.dicelang.v1;$/;" p
+bjc.dicelang.v1 src/bjc/dicelang/v1/CompoundDice.java /^package bjc.dicelang.v1;$/;" p
+bjc.dicelang.v1 src/bjc/dicelang/v1/DiceExpressionBuilder.java /^package bjc.dicelang.v1;$/;" p
+bjc.dicelang.v1 src/bjc/dicelang/v1/DiceExpressionParser.java /^package bjc.dicelang.v1;$/;" p
+bjc.dicelang.v1 src/bjc/dicelang/v1/DiceExpressionType.java /^package bjc.dicelang.v1;$/;" p
+bjc.dicelang.v1 src/bjc/dicelang/v1/Die.java /^package bjc.dicelang.v1;$/;" p
+bjc.dicelang.v1 src/bjc/dicelang/v1/IDiceExpression.java /^package bjc.dicelang.v1;$/;" p
+bjc.dicelang.v1 src/bjc/dicelang/v1/OperatorDiceExpression.java /^package bjc.dicelang.v1;$/;" p
+bjc.dicelang.v1 src/bjc/dicelang/v1/PolyhedralDice.java /^package bjc.dicelang.v1;$/;" p
+bjc.dicelang.v1 src/bjc/dicelang/v1/ReferenceDiceExpression.java /^package bjc.dicelang.v1;$/;" p
+bjc.dicelang.v1 src/bjc/dicelang/v1/ScalarDie.java /^package bjc.dicelang.v1;$/;" p
+bjc.dicelang.v1.ast src/bjc/dicelang/v1/ast/ArithmeticCollapser.java /^package bjc.dicelang.v1.ast;$/;" p
+bjc.dicelang.v1.ast src/bjc/dicelang/v1/ast/ArrayResult.java /^package bjc.dicelang.v1.ast;$/;" p
+bjc.dicelang.v1.ast src/bjc/dicelang/v1/ast/DiceASTEvaluator.java /^package bjc.dicelang.v1.ast;$/;" p
+bjc.dicelang.v1.ast src/bjc/dicelang/v1/ast/DiceASTInliner.java /^package bjc.dicelang.v1.ast;$/;" p
+bjc.dicelang.v1.ast src/bjc/dicelang/v1/ast/DiceASTOptimizer.java /^package bjc.dicelang.v1.ast;$/;" p
+bjc.dicelang.v1.ast src/bjc/dicelang/v1/ast/DiceASTParser.java /^package bjc.dicelang.v1.ast;$/;" p
+bjc.dicelang.v1.ast src/bjc/dicelang/v1/ast/DiceASTReferenceChecker.java /^package bjc.dicelang.v1.ast;$/;" p
+bjc.dicelang.v1.ast src/bjc/dicelang/v1/ast/DiceASTReferenceSanitizer.java /^package bjc.dicelang.v1.ast;$/;" p
+bjc.dicelang.v1.ast src/bjc/dicelang/v1/ast/DiceASTUtils.java /^package bjc.dicelang.v1.ast;$/;" p
+bjc.dicelang.v1.ast src/bjc/dicelang/v1/ast/DummyResult.java /^package bjc.dicelang.v1.ast;$/;" p
+bjc.dicelang.v1.ast src/bjc/dicelang/v1/ast/IOperatorCollapser.java /^package bjc.dicelang.v1.ast;$/;" p
+bjc.dicelang.v1.ast src/bjc/dicelang/v1/ast/IResult.java /^package bjc.dicelang.v1.ast;$/;" p
+bjc.dicelang.v1.ast src/bjc/dicelang/v1/ast/IntegerResult.java /^package bjc.dicelang.v1.ast;$/;" p
+bjc.dicelang.v1.ast src/bjc/dicelang/v1/ast/ResultType.java /^package bjc.dicelang.v1.ast;$/;" p
+bjc.dicelang.v1.ast src/bjc/dicelang/v1/ast/package-info.java /^package bjc.dicelang.v1.ast;/;" p
+bjc.dicelang.v1.ast.nodes src/bjc/dicelang/v1/ast/nodes/DiceASTType.java /^package bjc.dicelang.v1.ast.nodes;$/;" p
+bjc.dicelang.v1.ast.nodes src/bjc/dicelang/v1/ast/nodes/DiceLiteralNode.java /^package bjc.dicelang.v1.ast.nodes;$/;" p
+bjc.dicelang.v1.ast.nodes src/bjc/dicelang/v1/ast/nodes/DiceLiteralType.java /^package bjc.dicelang.v1.ast.nodes;$/;" p
+bjc.dicelang.v1.ast.nodes src/bjc/dicelang/v1/ast/nodes/DiceOperatorType.java /^package bjc.dicelang.v1.ast.nodes;$/;" p
+bjc.dicelang.v1.ast.nodes src/bjc/dicelang/v1/ast/nodes/IDiceASTNode.java /^package bjc.dicelang.v1.ast.nodes;$/;" p
+bjc.dicelang.v1.ast.nodes src/bjc/dicelang/v1/ast/nodes/ILiteralDiceNode.java /^package bjc.dicelang.v1.ast.nodes;$/;" p
+bjc.dicelang.v1.ast.nodes src/bjc/dicelang/v1/ast/nodes/IntegerLiteralNode.java /^package bjc.dicelang.v1.ast.nodes;$/;" p
+bjc.dicelang.v1.ast.nodes src/bjc/dicelang/v1/ast/nodes/OperatorDiceNode.java /^package bjc.dicelang.v1.ast.nodes;$/;" p
+bjc.dicelang.v1.ast.nodes src/bjc/dicelang/v1/ast/nodes/VariableDiceNode.java /^package bjc.dicelang.v1.ast.nodes;$/;" p
+bjc.dicelang.v1.ast.nodes src/bjc/dicelang/v1/ast/nodes/package-info.java /^package bjc.dicelang.v1.ast.nodes;/;" p
+bjc.dicelang.v1.ast.optimization src/bjc/dicelang/v1/ast/optimization/ArithmeticCollapser.java /^package bjc.dicelang.v1.ast.optimization;$/;" p
+bjc.dicelang.v1.ast.optimization src/bjc/dicelang/v1/ast/optimization/ConstantCollapser.java /^package bjc.dicelang.v1.ast.optimization;$/;" p
+bjc.dicelang.v1.ast.optimization src/bjc/dicelang/v1/ast/optimization/IOptimizationPass.java /^package bjc.dicelang.v1.ast.optimization;$/;" p
+bjc.dicelang.v1.ast.optimization src/bjc/dicelang/v1/ast/optimization/OperationCondenser.java /^package bjc.dicelang.v1.ast.optimization;$/;" p
+bjc.dicelang.v1.ast.optimization src/bjc/dicelang/v1/ast/optimization/package-info.java /^package bjc.dicelang.v1.ast.optimization;/;" p
+bjc.dicelang.v1.examples src/bjc/dicelang/v1/examples/DiceASTLanguageTest.java /^package bjc.dicelang.v1.examples;$/;" p
+bjc.dicelang.v1.examples src/bjc/dicelang/v1/examples/DiceASTPragma.java /^package bjc.dicelang.v1.examples;$/;" p
+bjc.dicelang.v1.examples src/bjc/dicelang/v1/examples/DiceExpressionParserTest.java /^package bjc.dicelang.v1.examples;$/;" p
+bjc.dicelang.v1.examples src/bjc/dicelang/v1/examples/DiceExpressionPreparer.java /^package bjc.dicelang.v1.examples;$/;" p
+bjc.dicelang.v1.examples src/bjc/dicelang/v1/examples/DiceLanguageState.java /^package bjc.dicelang.v1.examples;$/;" p
+bjc.dicelang.v1.examples src/bjc/dicelang/v1/examples/DiceLanguageTest.java /^package bjc.dicelang.v1.examples;$/;" p
+buildOperations src/bjc/dicelang/v1/ast/DiceASTEvaluator.java /^ private static IMap<IDiceASTNode, IOperatorCollapser> buildOperations($/;" m class:DiceASTEvaluator file:
+canOptimize src/bjc/dicelang/dice/CompoundDie.java /^ public boolean canOptimize() {$/;" m class:CompoundDie
+canOptimize src/bjc/dicelang/dice/CompoundingDie.java /^ public boolean canOptimize() {$/;" m class:CompoundingDie
+canOptimize src/bjc/dicelang/dice/Die.java /^ boolean canOptimize();$/;" m interface:Die
+canOptimize src/bjc/dicelang/dice/DieList.java /^ boolean canOptimize();$/;" m interface:DieList
+canOptimize src/bjc/dicelang/dice/ExplodingDice.java /^ public boolean canOptimize() {$/;" m class:ExplodingDice
+canOptimize src/bjc/dicelang/dice/FudgeDie.java /^ public boolean canOptimize() {$/;" m class:FudgeDie
+canOptimize src/bjc/dicelang/dice/MathDie.java /^ public boolean canOptimize() {$/;" m class:MathDie
+canOptimize src/bjc/dicelang/dice/ScalarDie.java /^ public boolean canOptimize() {$/;" m class:ScalarDie
+canOptimize src/bjc/dicelang/dice/SimpleDie.java /^ public boolean canOptimize() {$/;" m class:SimpleDie
+canOptimize src/bjc/dicelang/dice/SimpleDieList.java /^ public boolean canOptimize() {$/;" m class:SimpleDieList
+canOptimize src/bjc/dicelang/v1/ComplexDice.java /^ public boolean canOptimize() {$/;" m class:ComplexDice
+canOptimize src/bjc/dicelang/v1/CompoundDice.java /^ public boolean canOptimize() {$/;" m class:CompoundDice
+canOptimize src/bjc/dicelang/v1/Die.java /^ public boolean canOptimize() {$/;" m class:Die
+canOptimize src/bjc/dicelang/v1/IDiceExpression.java /^ public default boolean canOptimize() {$/;" m interface:IDiceExpression
+canOptimize src/bjc/dicelang/v1/ScalarDie.java /^ public boolean canOptimize() {$/;" m class:ScalarDie
+canOptimize src/bjc/dicelang/v1/ast/nodes/DiceLiteralNode.java /^ public boolean canOptimize() {$/;" m class:DiceLiteralNode
+canOptimize src/bjc/dicelang/v1/ast/nodes/ILiteralDiceNode.java /^ boolean canOptimize();$/;" m interface:ILiteralDiceNode
+canOptimize src/bjc/dicelang/v1/ast/nodes/IntegerLiteralNode.java /^ public boolean canOptimize() {$/;" m class:IntegerLiteralNode
+collapse src/bjc/dicelang/v1/ast/optimization/ArithmeticCollapser.java /^ public ITree<IDiceASTNode> collapse($/;" m class:ArithmeticCollapser
+combineArrayResults src/bjc/dicelang/v1/ast/ArithmeticCollapser.java /^ private IList<IResult> combineArrayResults(IResult accumulatedValue,$/;" m class:ArithmeticCollapser file:
+commandNumber src/bjc/dicelang/DiceLangConsole.java /^ private int commandNumber;$/;" f class:DiceLangConsole file:
+comparePoint src/bjc/dicelang/dice/DiceBox.java /^ private static final String comparePoint = "[<>=]\\\\d+";$/;" f class:DiceBox file:
+compoundCollapser src/bjc/dicelang/v1/ast/optimization/ConstantCollapser.java /^ private static final ArithmeticCollapser compoundCollapser = new ArithmeticCollapser($/;" f class:ConstantCollapser file:
+compoundDie src/bjc/dicelang/dice/DiceBox.java /^ private static final String compoundDie = simpleDie + "c(?:(?:" + simpleDie + ")|(?:\\\\d+))";$/;" f class:DiceBox file:
+compoundDiePattern src/bjc/dicelang/dice/DiceBox.java /^ private static final Pattern compoundDiePattern = Pattern.compile("\\\\A" + compoundDie + "\\\\Z");$/;" f class:DiceBox file:
+compoundGroup src/bjc/dicelang/dice/DiceBox.java /^ private static final String compoundGroup = "(?:(?:" + scalarDie + ")|(?:" + simpleDie + ")|(?:"$/;" f class:DiceBox file:
+compoundOn src/bjc/dicelang/dice/CompoundingDie.java /^ private Predicate<Long> compoundOn;$/;" f class:CompoundingDie file:
+compoundPattern src/bjc/dicelang/dice/CompoundingDie.java /^ private String compoundPattern;$/;" f class:CompoundingDie file:
+compoundingDie src/bjc/dicelang/dice/DiceBox.java /^ private static final String compoundingDie = compoundGroup + "!!" + comparePoint;$/;" f class:DiceBox file:
+compoundingDiePattern src/bjc/dicelang/dice/DiceBox.java /^ private static final Pattern compoundingDiePattern = Pattern.compile("\\\\A" + compoundingDie + "\\\\Z");$/;" f class:DiceBox file:
+condense src/bjc/dicelang/v1/ast/optimization/OperationCondenser.java /^ public static ITree<IDiceASTNode> condense(ITree<IDiceASTNode> ast) {$/;" m class:OperationCondenser
+containsSimpleVariable src/bjc/dicelang/v1/ast/DiceASTUtils.java /^ public static boolean containsSimpleVariable($/;" m class:DiceASTUtils
+convertLeafNode src/bjc/dicelang/v1/ast/DiceASTParser.java /^ private static IDiceASTNode convertLeafNode(String leafNode) {$/;" m class:DiceASTParser file:
+convertOperatorNode src/bjc/dicelang/v1/ast/DiceASTParser.java /^ private static IDiceASTNode convertOperatorNode(String operatorNode) {$/;" m class:DiceASTParser file:
+createFromString src/bjc/dicelang/v1/ast/DiceASTParser.java /^ public static ITree<IDiceASTNode> createFromString($/;" m class:DiceASTParser
+currStream src/bjc/dicelang/StreamEngine.java /^ private IList<String> currStream;$/;" f class:StreamEngine file:
+d10 src/bjc/dicelang/v1/PolyhedralDice.java /^ public static IDiceExpression d10() {$/;" m class:PolyhedralDice
+d10 src/bjc/dicelang/v1/PolyhedralDice.java /^ public static IDiceExpression d10(int nDice) {$/;" m class:PolyhedralDice
+d100 src/bjc/dicelang/v1/PolyhedralDice.java /^ public static IDiceExpression d100() {$/;" m class:PolyhedralDice
+d100 src/bjc/dicelang/v1/PolyhedralDice.java /^ public static IDiceExpression d100(int nDice) {$/;" m class:PolyhedralDice
+d12 src/bjc/dicelang/v1/PolyhedralDice.java /^ public static IDiceExpression d12() {$/;" m class:PolyhedralDice
+d12 src/bjc/dicelang/v1/PolyhedralDice.java /^ public static IDiceExpression d12(int nDice) {$/;" m class:PolyhedralDice
+d20 src/bjc/dicelang/v1/PolyhedralDice.java /^ public static IDiceExpression d20() {$/;" m class:PolyhedralDice
+d20 src/bjc/dicelang/v1/PolyhedralDice.java /^ public static IDiceExpression d20(int nDice) {$/;" m class:PolyhedralDice
+d4 src/bjc/dicelang/v1/PolyhedralDice.java /^ public static IDiceExpression d4() {$/;" m class:PolyhedralDice
+d4 src/bjc/dicelang/v1/PolyhedralDice.java /^ public static IDiceExpression d4(int nDice) {$/;" m class:PolyhedralDice
+d6 src/bjc/dicelang/v1/PolyhedralDice.java /^ public static IDiceExpression d6() {$/;" m class:PolyhedralDice
+d6 src/bjc/dicelang/v1/PolyhedralDice.java /^ public static IDiceExpression d6(int nDice) {$/;" m class:PolyhedralDice
+d8 src/bjc/dicelang/v1/PolyhedralDice.java /^ public static IDiceExpression d8() {$/;" m class:PolyhedralDice
+d8 src/bjc/dicelang/v1/PolyhedralDice.java /^ public static IDiceExpression d8(int nDice) {$/;" m class:PolyhedralDice
+deaffixTokens src/bjc/dicelang/DiceLangEngine.java /^ private IList<String> deaffixTokens(IList<String> tokens, List<IPair<String, String>> deaffixTokens) {$/;" m class:DiceLangEngine file:
+deaffixationList src/bjc/dicelang/DiceLangEngine.java /^ private List<IPair<String, String>> deaffixationList;$/;" f class:DiceLangEngine file:
+debugMode src/bjc/dicelang/DiceLangEngine.java /^ private boolean debugMode;$/;" f class:DiceLangEngine file:
+defineMode src/bjc/dicelang/DiceLangConsole.java /^ private boolean defineMode(String defineText) {$/;" m class:DiceLangConsole file:
+defnsSorted src/bjc/dicelang/DiceLangEngine.java /^ private boolean defnsSorted;$/;" f class:DiceLangEngine file:
+deriveCond src/bjc/dicelang/dice/DiceBox.java /^ private static Predicate<Long> deriveCond(String patt) {$/;" m class:DiceBox file:
+devError src/bjc/dicelang/Errors.java /^ private void devError(ErrorKey key, String[] args) {$/;" m class:Errors file:
+diceList src/bjc/dicelang/dice/DiceBox.java /^ private static final String diceList = compoundGroup + "dl" + compoundGroup;$/;" f class:DiceBox file:
+diceListPattern src/bjc/dicelang/dice/DiceBox.java /^ private static final Pattern diceListPattern = Pattern.compile("\\\\A" + diceList + "\\\\Z");$/;" f class:DiceBox file:
+diceSize src/bjc/dicelang/dice/SimpleDie.java /^ private Die diceSize;$/;" f class:SimpleDie file:
+diceVal src/bjc/dicelang/EvaluatorResult.java /^ public DieExpression diceVal;$/;" f class:EvaluatorResult
+diceValue src/bjc/dicelang/Token.java /^ public DieExpression diceValue;$/;" f class:Token
+die src/bjc/dicelang/v1/ComplexDice.java /^ private IDiceExpression die;$/;" f class:ComplexDice file:
+divide src/bjc/dicelang/v1/DiceExpressionBuilder.java /^ public DiceExpressionBuilder divide(IDiceExpression exp) {$/;" m class:DiceExpressionBuilder
+divide src/bjc/dicelang/v1/DiceExpressionBuilder.java /^ public DiceExpressionBuilder divide(int num) {$/;" m class:DiceExpressionBuilder
+divideCollapser src/bjc/dicelang/v1/ast/optimization/ConstantCollapser.java /^ private static final ArithmeticCollapser divideCollapser = new ArithmeticCollapser($/;" f class:ConstantCollapser file:
+doArithmeticCollapse src/bjc/dicelang/v1/ast/ArithmeticCollapser.java /^ private IPair<IResult, ITree<IDiceASTNode>> doArithmeticCollapse($/;" m class:ArithmeticCollapser file:
+doArrayAssign src/bjc/dicelang/v1/ast/DiceASTEvaluator.java /^ private static void doArrayAssign($/;" m class:DiceASTEvaluator file:
+doCondense src/bjc/dicelang/v1/ast/optimization/OperationCondenser.java /^ private static ITree<IDiceASTNode> doCondense($/;" m class:OperationCondenser file:
+doPass src/bjc/dicelang/Define.java /^ private String doPass(String tok) {$/;" m class:Define file:
+doRecur src/bjc/dicelang/Define.java /^ private boolean doRecur;$/;" f class:Define file:
+doSanitize src/bjc/dicelang/v1/ast/DiceASTReferenceSanitizer.java /^ private static ITree<IDiceASTNode> doSanitize(ITree<IDiceASTNode> ast,$/;" m class:DiceASTReferenceSanitizer file:
+doSingleSanitize src/bjc/dicelang/v1/ast/DiceASTReferenceSanitizer.java /^ private static ITree<IDiceASTNode> doSingleSanitize($/;" m class:DiceASTReferenceSanitizer file:
+doStreams src/bjc/dicelang/StreamEngine.java /^ public boolean doStreams(String[] toks, IList<String> dest) {$/;" m class:StreamEngine
+dummyData src/bjc/dicelang/v1/ast/DummyResult.java /^ private String dummyData;$/;" f class:DummyResult file:
+eng src/bjc/dicelang/DiceLangConsole.java /^ private DiceLangEngine eng;$/;" f class:DiceLangConsole file:
+eng src/bjc/dicelang/Evaluator.java /^ private DiceLangEngine eng;$/;" f class:Evaluator file:
+eng src/bjc/dicelang/StreamEngine.java /^ private DiceLangEngine eng;$/;" f class:StreamEngine file:
+eng src/bjc/dicelang/Tokenizer.java /^ private DiceLangEngine eng;$/;" f class:Tokenizer file:
+enviroment src/bjc/dicelang/v1/ReferenceDiceExpression.java /^ private Map<String, IDiceExpression> enviroment;$/;" f class:ReferenceDiceExpression file:
+equals src/bjc/dicelang/Node.java /^ public boolean equals(Object other) {$/;" m class:Node
+equals src/bjc/dicelang/Token.java /^ public boolean equals(Object other) {$/;" m class:Token
+equals src/bjc/dicelang/v1/ast/nodes/VariableDiceNode.java /^ public boolean equals(Object obj) {$/;" m class:VariableDiceNode
+eval src/bjc/dicelang/DiceLangEngine.java /^ private Evaluator eval;$/;" f class:DiceLangEngine file:
+evaluate src/bjc/dicelang/Evaluator.java /^ public EvaluatorResult evaluate(ITree<Node> comm) {$/;" m class:Evaluator
+evaluateAST src/bjc/dicelang/v1/ast/DiceASTEvaluator.java /^ public static IResult evaluateAST(ITree<IDiceASTNode> expression,$/;" m class:DiceASTEvaluator
+evaluateBinaryOp src/bjc/dicelang/Evaluator.java /^ private ITree<Node> evaluateBinaryOp(ITree<Node> ast, Context ctx) {$/;" m class:Evaluator file:
+evaluateDiceBinary src/bjc/dicelang/Evaluator.java /^ private ITree<Node> evaluateDiceBinary(Token.Type op,$/;" m class:Evaluator file:
+evaluateForest src/bjc/dicelang/DiceLangEngine.java /^ private void evaluateForest(IList<ITree<Node>> astForest) {$/;" m class:DiceLangEngine file:
+evaluateLeaf src/bjc/dicelang/v1/ast/DiceASTEvaluator.java /^ private static IPair<IResult, ITree<IDiceASTNode>> evaluateLeaf($/;" m class:DiceASTEvaluator file:
+evaluateLiteral src/bjc/dicelang/v1/ast/DiceASTEvaluator.java /^ private static IResult evaluateLiteral(IDiceASTNode leafNode) {$/;" m class:DiceASTEvaluator file:
+evaluateMathBinary src/bjc/dicelang/Evaluator.java /^ private ITree<Node> evaluateMathBinary(Token.Type op,$/;" m class:Evaluator file:
+evaluateNode src/bjc/dicelang/Evaluator.java /^ private ITree<Node> evaluateNode(ITree<Node> ast, Context ctx) {$/;" m class:Evaluator file:
+evaluateTokenRef src/bjc/dicelang/Evaluator.java /^ private ITree<Node> evaluateTokenRef(Token tk, Context ctx) {$/;" m class:Evaluator file:
+evaluateUnaryOp src/bjc/dicelang/Evaluator.java /^ private ITree<Node> evaluateUnaryOp(ITree<Node> ast, Context ctx) {$/;" m class:Evaluator file:
+explodeOn src/bjc/dicelang/dice/ExplodingDice.java /^ private Predicate<Long> explodeOn;$/;" f class:ExplodingDice file:
+explodePattern src/bjc/dicelang/dice/ExplodingDice.java /^ private String explodePattern;$/;" f class:ExplodingDice file:
+explodePenetrates src/bjc/dicelang/dice/ExplodingDice.java /^ private boolean explodePenetrates;$/;" f class:ExplodingDice file:
+explodingDie src/bjc/dicelang/dice/DiceBox.java /^ private static final String explodingDie = compoundGroup + "!" + comparePoint;$/;" f class:DiceBox file:
+explodingDiePattern src/bjc/dicelang/dice/DiceBox.java /^ private static final Pattern explodingDiePattern = Pattern.compile("\\\\A" + explodingDie + "\\\\Z");$/;" f class:DiceBox file:
+expression src/bjc/dicelang/v1/BindingDiceExpression.java /^ private IDiceExpression expression;$/;" f class:BindingDiceExpression file:
+expression src/bjc/dicelang/v1/ast/nodes/DiceLiteralNode.java /^ private IDiceExpression expression;$/;" f class:DiceLiteralNode file:
+flexadecimalMatcher src/bjc/dicelang/Tokenizer.java /^ private Pattern flexadecimalMatcher = Pattern.compile("\\\\A[\\\\-\\\\+]?[0-9][0-9A-Za-z]+B\\\\d{1,2}\\\\Z");$/;" f class:Tokenizer file:
+floatVal src/bjc/dicelang/EvaluatorResult.java /^ public double floatVal;$/;" f class:EvaluatorResult
+floatValue src/bjc/dicelang/Token.java /^ public double floatValue;$/;" f class:Token
+floatingLiteral src/bjc/dicelang/DoubleMatcher.java /^ public static final Pattern floatingLiteral = Pattern.compile("\\\\A" + fpRegex + "\\\\Z");$/;" f class:DoubleMatcher
+fpRegex src/bjc/dicelang/DoubleMatcher.java /^ private static final String fpRegex =$/;" f class:DoubleMatcher file:
+fromString src/bjc/dicelang/v1/ComplexDice.java /^ public static IDiceExpression fromString(String expression) {$/;" m class:ComplexDice
+fromString src/bjc/dicelang/v1/ast/nodes/OperatorDiceNode.java /^ public static OperatorDiceNode fromString(String s) {$/;" m class:OperatorDiceNode
+fudgeDie src/bjc/dicelang/dice/DiceBox.java /^ private static final String fudgeDie = "(?:\\\\d+)?dF";$/;" f class:DiceBox file:
+fudgeDiePattern src/bjc/dicelang/dice/DiceBox.java /^ private static final Pattern fudgeDiePattern = Pattern.compile("\\\\A" + fudgeDie + "\\\\Z");$/;" f class:DiceBox file:
+getData src/bjc/dicelang/v1/ast/DummyResult.java /^ public String getData() {$/;" m class:DummyResult
+getLiteralType src/bjc/dicelang/v1/ast/nodes/DiceLiteralNode.java /^ public DiceLiteralType getLiteralType() {$/;" m class:DiceLiteralNode
+getLiteralType src/bjc/dicelang/v1/ast/nodes/ILiteralDiceNode.java /^ DiceLiteralType getLiteralType();$/;" m interface:ILiteralDiceNode
+getLiteralType src/bjc/dicelang/v1/ast/nodes/ILiteralDiceNode.java /^ static DiceLiteralType getLiteralType(String tok) {$/;" m interface:ILiteralDiceNode
+getLiteralType src/bjc/dicelang/v1/ast/nodes/IntegerLiteralNode.java /^ public DiceLiteralType getLiteralType() {$/;" m class:IntegerLiteralNode
+getName src/bjc/dicelang/v1/ReferenceDiceExpression.java /^ public String getName() {$/;" m class:ReferenceDiceExpression
+getNextCommand src/bjc/dicelang/v1/examples/DiceASTLanguageTest.java /^ private static String getNextCommand(Scanner inputSource,$/;" m class:DiceASTLanguageTest file:
+getType src/bjc/dicelang/v1/ast/ArrayResult.java /^ public ResultType getType() {$/;" m class:ArrayResult
+getType src/bjc/dicelang/v1/ast/DummyResult.java /^ public ResultType getType() {$/;" m class:DummyResult
+getType src/bjc/dicelang/v1/ast/IResult.java /^ public ResultType getType();$/;" m interface:IResult
+getType src/bjc/dicelang/v1/ast/IntegerResult.java /^ public ResultType getType() {$/;" m class:IntegerResult
+getType src/bjc/dicelang/v1/ast/nodes/IDiceASTNode.java /^ public DiceASTType getType();$/;" m interface:IDiceASTNode
+getType src/bjc/dicelang/v1/ast/nodes/ILiteralDiceNode.java /^ default DiceASTType getType() {$/;" m interface:ILiteralDiceNode
+getType src/bjc/dicelang/v1/ast/nodes/OperatorDiceNode.java /^ public DiceASTType getType() {$/;" m class:OperatorDiceNode
+getType src/bjc/dicelang/v1/ast/nodes/VariableDiceNode.java /^ public DiceASTType getType() {$/;" m class:VariableDiceNode
+getValue src/bjc/dicelang/v1/ast/ArrayResult.java /^ public IList<IResult> getValue() {$/;" m class:ArrayResult
+getValue src/bjc/dicelang/v1/ast/IntegerResult.java /^ public int getValue() {$/;" m class:IntegerResult
+getValue src/bjc/dicelang/v1/ast/nodes/DiceLiteralNode.java /^ public IDiceExpression getValue() {$/;" m class:DiceLiteralNode
+getValue src/bjc/dicelang/v1/ast/nodes/IntegerLiteralNode.java /^ public int getValue() {$/;" m class:IntegerLiteralNode
+getVariable src/bjc/dicelang/v1/ast/nodes/VariableDiceNode.java /^ public String getVariable() {$/;" m class:VariableDiceNode
+groupType src/bjc/dicelang/Node.java /^ public GroupType groupType;$/;" f class:Node
+halfCombineLists src/bjc/dicelang/v1/ast/ArithmeticCollapser.java /^ private IList<IResult> halfCombineLists(IList<IResult> list,$/;" m class:ArithmeticCollapser file:
+handleInlineAction src/bjc/dicelang/v1/examples/DiceASTLanguageTest.java /^ private static void handleInlineAction($/;" m class:DiceASTLanguageTest file:
+handlePragma src/bjc/dicelang/DiceLangConsole.java /^ private boolean handlePragma(String pragma) {$/;" m class:DiceLangConsole file:
+hashCode src/bjc/dicelang/v1/ast/nodes/VariableDiceNode.java /^ public int hashCode() {$/;" m class:VariableDiceNode
+helpMode src/bjc/dicelang/DiceLangConsole.java /^ private boolean helpMode(String pragma) {$/;" m class:DiceLangConsole file:
+hexadecimalMatcher src/bjc/dicelang/Tokenizer.java /^ private Pattern hexadecimalMatcher = Pattern.compile("\\\\A[\\\\-\\\\+]?0x[0-9A-Fa-f]+\\\\Z");$/;" f class:Tokenizer file:
+inError src/bjc/dicelang/Define.java /^ public final boolean inError;$/;" f class:Define
+init src/bjc/dicelang/StreamEngine.java /^ private void init() {$/;" m class:StreamEngine file:
+initialValue src/bjc/dicelang/v1/ast/ArithmeticCollapser.java /^ private int initialValue;$/;" f class:ArithmeticCollapser file:
+initialize src/bjc/dicelang/v1/BindingDiceExpression.java /^ private void initialize(String name, IDiceExpression expr,$/;" m class:BindingDiceExpression file:
+inlineAll src/bjc/dicelang/v1/ast/DiceASTInliner.java /^ public static ITree<IDiceASTNode> inlineAll(ITree<IDiceASTNode> ast,$/;" m class:DiceASTInliner
+inlineNode src/bjc/dicelang/v1/ast/DiceASTInliner.java /^ private static ITree<IDiceASTNode> inlineNode(IDiceASTNode node,$/;" m class:DiceASTInliner file:
+inst src/bjc/dicelang/Errors.java /^ public final static Errors inst;$/;" f class:Errors
+intMatcher src/bjc/dicelang/Tokenizer.java /^ private Pattern intMatcher = Pattern.compile("\\\\A[\\\\-\\\\+]?\\\\d+\\\\Z");$/;" f class:Tokenizer file:
+intVal src/bjc/dicelang/EvaluatorResult.java /^ public long intVal;$/;" f class:EvaluatorResult
+intValue src/bjc/dicelang/Token.java /^ public long intValue;$/;" f class:Token
+isDebug src/bjc/dicelang/Evaluator.java /^ public boolean isDebug;$/;" f class:Evaluator.Context
+isDirectReference src/bjc/dicelang/v1/ast/DiceASTReferenceChecker.java /^ private boolean isDirectReference(IDiceASTNode astNode) {$/;" m class:DiceASTReferenceChecker file:
+isGrouper src/bjc/dicelang/Token.java /^ public boolean isGrouper() {$/;" m class:Token
+isHigherPrec src/bjc/dicelang/Shunter.java /^ private boolean isHigherPrec(Token lft, Token rght) {$/;" m class:Shunter file:
+isList src/bjc/dicelang/dice/DieExpression.java /^ public final boolean isList;$/;" f class:DieExpression
+isOp src/bjc/dicelang/Shunter.java /^ private boolean isOp(Token tk) {$/;" m class:Shunter file:
+isOperator src/bjc/dicelang/v1/ast/nodes/IDiceASTNode.java /^ public boolean isOperator();$/;" m interface:IDiceASTNode
+isOperator src/bjc/dicelang/v1/ast/nodes/ILiteralDiceNode.java /^ default boolean isOperator() {$/;" m interface:ILiteralDiceNode
+isOperator src/bjc/dicelang/v1/ast/nodes/OperatorDiceNode.java /^ public boolean isOperator() {$/;" m class:OperatorDiceNode
+isOperator src/bjc/dicelang/v1/ast/nodes/VariableDiceNode.java /^ public boolean isOperator() {$/;" m class:VariableDiceNode
+isOperatorNode src/bjc/dicelang/v1/ast/DiceASTParser.java /^ private static boolean isOperatorNode(String token) {$/;" m class:DiceASTParser file:
+isUnary src/bjc/dicelang/Shunter.java /^ private boolean isUnary(Token tk) {$/;" m class:Shunter file:
+isValidExpression src/bjc/dicelang/dice/DiceBox.java /^ public static boolean isValidExpression(String exp) {$/;" m class:DiceBox
+left src/bjc/dicelang/dice/CompoundDie.java /^ private Die left;$/;" f class:CompoundDie file:
+left src/bjc/dicelang/dice/MathDie.java /^ private Die left;$/;" f class:MathDie file:
+left src/bjc/dicelang/v1/CompoundDice.java /^ private IDiceExpression left;$/;" f class:CompoundDice file:
+left src/bjc/dicelang/v1/OperatorDiceExpression.java /^ private IDiceExpression left;$/;" f class:OperatorDiceExpression file:
+lexToken src/bjc/dicelang/Tokenizer.java /^ public Token lexToken(String token, IMap<String, String> stringLts) {$/;" m class:Tokenizer
+lineDefns src/bjc/dicelang/DiceLangEngine.java /^ private IList<Define> lineDefns;$/;" f class:DiceLangEngine file:
+list src/bjc/dicelang/dice/DieExpression.java /^ public DieList list;$/;" f class:DieExpression
+litTokens src/bjc/dicelang/Tokenizer.java /^ private IMap<String, Token.Type> litTokens;$/;" f class:Tokenizer file:
+literalToExpression src/bjc/dicelang/v1/ast/DiceASTUtils.java /^ public static IDiceExpression literalToExpression($/;" m class:DiceASTUtils
+literalToInteger src/bjc/dicelang/v1/ast/DiceASTUtils.java /^ public static int literalToInteger(ITree<IDiceASTNode> tree) {$/;" m class:DiceASTUtils
+main src/bjc/dicelang/DiceLangConsole.java /^ public static void main(String[] args) {$/;" m class:DiceLangConsole
+main src/bjc/dicelang/v1/examples/DiceASTLanguageTest.java /^ public static void main(String[] args) {$/;" m class:DiceASTLanguageTest
+main src/bjc/dicelang/v1/examples/DiceExpressionParserTest.java /^ public static void main(String[] args) {$/;" m class:DiceExpressionParserTest
+main src/bjc/dicelang/v1/examples/DiceLanguageTest.java /^ public static void main(String[] args) {$/;" m class:DiceLanguageTest
+mode src/bjc/dicelang/Errors.java /^ private ErrorMode mode;$/;" f class:Errors file:
+multiply src/bjc/dicelang/v1/DiceExpressionBuilder.java /^ public DiceExpressionBuilder multiply(IDiceExpression exp) {$/;" m class:DiceExpressionBuilder
+multiply src/bjc/dicelang/v1/DiceExpressionBuilder.java /^ public DiceExpressionBuilder multiply(int num) {$/;" m class:DiceExpressionBuilder
+multiplyCollapser src/bjc/dicelang/v1/ast/optimization/ConstantCollapser.java /^ private static final ArithmeticCollapser multiplyCollapser = new ArithmeticCollapser($/;" f class:ConstantCollapser file:
+nDice src/bjc/dicelang/v1/ComplexDice.java /^ private IDiceExpression nDice;$/;" f class:ComplexDice file:
+nSides src/bjc/dicelang/v1/Die.java /^ private int nSides;$/;" f class:Die file:
+name src/bjc/dicelang/v1/BindingDiceExpression.java /^ private String name;$/;" f class:BindingDiceExpression file:
+name src/bjc/dicelang/v1/ReferenceDiceExpression.java /^ private String name;$/;" f class:ReferenceDiceExpression file:
+nextLiteral src/bjc/dicelang/DiceLangEngine.java /^ private int nextLiteral;$/;" f class:DiceLangEngine file:
+nextSym src/bjc/dicelang/Tokenizer.java /^ private int nextSym = 0;$/;" f class:Tokenizer file:
+nonExpandPattern src/bjc/dicelang/DiceLangEngine.java /^ private Pattern nonExpandPattern = Pattern.compile("<<([^\\\\>]*(?:\\\\>(?:[^\\\\>])*)*)>>");$/;" f class:DiceLangEngine file:
+numDice src/bjc/dicelang/dice/FudgeDie.java /^ private Die numDice;$/;" f class:FudgeDie file:
+numDice src/bjc/dicelang/dice/SimpleDie.java /^ private Die numDice;$/;" f class:SimpleDie file:
+numDice src/bjc/dicelang/dice/SimpleDieList.java /^ private Die numDice;$/;" f class:SimpleDieList file:
+number src/bjc/dicelang/v1/ScalarDie.java /^ private int number;$/;" f class:ScalarDie file:
+opExpansionList src/bjc/dicelang/DiceLangEngine.java /^ private List<IPair<String, String>> opExpansionList;$/;" f class:DiceLangEngine file:
+operatorType src/bjc/dicelang/Node.java /^ public Token.Type operatorType;$/;" f class:Node
+ops src/bjc/dicelang/Shunter.java /^ private IMap<Token.Type, Integer> ops;$/;" f class:Shunter file:
+optimize src/bjc/dicelang/dice/CompoundDie.java /^ public long optimize() {$/;" m class:CompoundDie
+optimize src/bjc/dicelang/dice/CompoundingDie.java /^ public long optimize() {$/;" m class:CompoundingDie
+optimize src/bjc/dicelang/dice/Die.java /^ long optimize();$/;" m interface:Die
+optimize src/bjc/dicelang/dice/DieList.java /^ long[] optimize();$/;" m interface:DieList
+optimize src/bjc/dicelang/dice/ExplodingDice.java /^ public long[] optimize() {$/;" m class:ExplodingDice
+optimize src/bjc/dicelang/dice/FudgeDie.java /^ public long optimize() {$/;" m class:FudgeDie
+optimize src/bjc/dicelang/dice/MathDie.java /^ public long optimize() {$/;" m class:MathDie
+optimize src/bjc/dicelang/dice/ScalarDie.java /^ public long optimize() {$/;" m class:ScalarDie
+optimize src/bjc/dicelang/dice/SimpleDie.java /^ public long optimize() {$/;" m class:SimpleDie
+optimize src/bjc/dicelang/dice/SimpleDieList.java /^ public long[] optimize() {$/;" m class:SimpleDieList
+optimize src/bjc/dicelang/v1/ComplexDice.java /^ public int optimize() {$/;" m class:ComplexDice
+optimize src/bjc/dicelang/v1/CompoundDice.java /^ public int optimize() {$/;" m class:CompoundDice
+optimize src/bjc/dicelang/v1/Die.java /^ public int optimize() {$/;" m class:Die
+optimize src/bjc/dicelang/v1/IDiceExpression.java /^ public default int optimize() {$/;" m interface:IDiceExpression
+optimize src/bjc/dicelang/v1/ScalarDie.java /^ public int optimize() {$/;" m class:ScalarDie
+optimize src/bjc/dicelang/v1/ast/nodes/DiceLiteralNode.java /^ public int optimize() {$/;" m class:DiceLiteralNode
+optimize src/bjc/dicelang/v1/ast/nodes/ILiteralDiceNode.java /^ int optimize();$/;" m interface:ILiteralDiceNode
+optimize src/bjc/dicelang/v1/ast/nodes/IntegerLiteralNode.java /^ public int optimize() {$/;" m class:IntegerLiteralNode
+optimizeLeaf src/bjc/dicelang/v1/ast/optimization/ConstantCollapser.java /^ public ITree<IDiceASTNode> optimizeLeaf(IDiceASTNode leafNode) {$/;" m class:ConstantCollapser
+optimizeLeaf src/bjc/dicelang/v1/ast/optimization/IOptimizationPass.java /^ public ITree<IDiceASTNode> optimizeLeaf(IDiceASTNode leafNode);$/;" m interface:IOptimizationPass
+optimizeOperator src/bjc/dicelang/v1/ast/optimization/ConstantCollapser.java /^ public ITree<IDiceASTNode> optimizeOperator(IDiceASTNode operator,$/;" m class:ConstantCollapser
+optimizeOperator src/bjc/dicelang/v1/ast/optimization/IOptimizationPass.java /^ public ITree<IDiceASTNode> optimizeOperator(IDiceASTNode operator,$/;" m interface:IOptimizationPass
+optimizeTree src/bjc/dicelang/v1/ast/DiceASTOptimizer.java /^ public ITree<IDiceASTNode> optimizeTree(ITree<IDiceASTNode> ast,$/;" m class:DiceASTOptimizer
+optimizer src/bjc/dicelang/v1/examples/DiceASTLanguageTest.java /^ private static DiceASTOptimizer optimizer;$/;" f class:DiceASTLanguageTest file:
+origVal src/bjc/dicelang/EvaluatorResult.java /^ public ITree<Node> origVal;$/;" f class:EvaluatorResult
+parse src/bjc/dicelang/v1/DiceExpressionParser.java /^ public static IDiceExpression parse(String expression,$/;" m class:DiceExpressionParser
+parseBinding src/bjc/dicelang/v1/ast/DiceASTEvaluator.java /^ private static IPair<IResult, ITree<IDiceASTNode>> parseBinding($/;" m class:DiceASTEvaluator file:
+parseCloseArray src/bjc/dicelang/v1/ast/DiceASTParser.java /^ private static ITree<String> parseCloseArray($/;" m class:DiceASTParser file:
+parseClosingGrouper src/bjc/dicelang/Parser.java /^ private boolean parseClosingGrouper(Deque<ITree<Node>> working, Token tk) {$/;" m class:Parser file:
+parseExpression src/bjc/dicelang/dice/DiceBox.java /^ public static DieExpression parseExpression(String exp) {$/;" m class:DiceBox
+parseGroup src/bjc/dicelang/v1/ast/DiceASTEvaluator.java /^ private static IPair<IResult, ITree<IDiceASTNode>> parseGroup($/;" m class:DiceASTEvaluator file:
+parseLet src/bjc/dicelang/v1/ast/DiceASTEvaluator.java /^ private static IPair<IResult, ITree<IDiceASTNode>> parseLet($/;" m class:DiceASTEvaluator file:
+parseTokens src/bjc/dicelang/Parser.java /^ public boolean parseTokens(IList<Token> tokens,$/;" m class:Parser
+parsr src/bjc/dicelang/DiceLangEngine.java /^ private Parser parsr;$/;" f class:DiceLangEngine file:
+passes src/bjc/dicelang/v1/ast/DiceASTOptimizer.java /^ private IList<IOptimizationPass> passes;$/;" f class:DiceASTOptimizer file:
+penetratingDie src/bjc/dicelang/dice/DiceBox.java /^ private static final String penetratingDie = compoundGroup + "!" + comparePoint;$/;" f class:DiceBox file:
+penetratingDiePattern src/bjc/dicelang/dice/DiceBox.java /^ private static final Pattern penetratingDiePattern = Pattern.compile("\\\\A" + penetratingDie + "\\\\Z");$/;" f class:DiceBox file:
+performOp src/bjc/dicelang/dice/MathDie.java /^ private long performOp(long lft, long rght) {$/;" m class:MathDie file:
+pickEvaluationType src/bjc/dicelang/Evaluator.java /^ private TopDownTransformResult pickEvaluationType(Node nd) {$/;" m class:Evaluator file:
+pickNode src/bjc/dicelang/v1/ast/optimization/OperationCondenser.java /^ private static TopDownTransformResult pickNode(IDiceASTNode node) {$/;" m class:OperationCondenser file:
+pickOperator src/bjc/dicelang/v1/ast/optimization/OperationCondenser.java /^ private static TopDownTransformResult pickOperator($/;" m class:OperationCondenser file:
+postfixMode src/bjc/dicelang/DiceLangEngine.java /^ private boolean postfixMode;$/;" f class:DiceLangEngine file:
+predicate src/bjc/dicelang/Define.java /^ private Pattern predicate;$/;" f class:Define file:
+prefixMode src/bjc/dicelang/DiceLangEngine.java /^ private boolean prefixMode;$/;" f class:DiceLangEngine file:
+prepareCommand src/bjc/dicelang/v1/examples/DiceExpressionPreparer.java /^ public static IList<String> prepareCommand(String currentLine) {$/;" m class:DiceExpressionPreparer
+printEnv src/bjc/dicelang/v1/examples/DiceLanguageTest.java /^ private static void printEnv(String ln, DiceLanguageState stat) {$/;" m class:DiceLanguageTest file:
+printError src/bjc/dicelang/Errors.java /^ public void printError(ErrorKey key, String... args) {$/;" m class:Errors
+priority src/bjc/dicelang/Define.java /^ public final int priority;$/;" f class:Define
+processCommand src/bjc/dicelang/StreamEngine.java /^ private boolean processCommand(String tk) {$/;" m class:StreamEngine file:
+quotePattern src/bjc/dicelang/DiceLangEngine.java /^ private Pattern quotePattern = Pattern.compile("\\"([^\\\\\\"]*(?:\\\\\\"(?:[^\\\\\\"])*)*)\\"");$/;" f class:DiceLangEngine file:
+read src/bjc/dicelang/DiceLangConsole.java /^ private ConsoleReader read;$/;" f class:DiceLangConsole file:
+reduceStates src/bjc/dicelang/v1/ast/ArithmeticCollapser.java /^ private IPair<IResult, ITree<IDiceASTNode>> reduceStates($/;" m class:ArithmeticCollapser file:
+reducer src/bjc/dicelang/v1/ast/optimization/ArithmeticCollapser.java /^ private BinaryOperator<Integer> reducer;$/;" f class:ArithmeticCollapser file:
+referencesVariable src/bjc/dicelang/v1/ast/DiceASTReferenceChecker.java /^ private IHolder<Boolean> referencesVariable;$/;" f class:DiceASTReferenceChecker file:
+removePreshuntTokens src/bjc/dicelang/DiceLangEngine.java /^ private boolean removePreshuntTokens(IList<Token> lexedTokens, IList<Token> preparedTokens) {$/;" m class:DiceLangEngine file:
+replacer src/bjc/dicelang/Define.java /^ private String replacer;$/;" f class:Define file:
+replacers src/bjc/dicelang/Define.java /^ private Iterator<String> replacers;$/;" f class:Define file:
+resultVal src/bjc/dicelang/Node.java /^ public EvaluatorResult resultVal;$/;" f class:Node
+right src/bjc/dicelang/dice/CompoundDie.java /^ private Die right;$/;" f class:CompoundDie file:
+right src/bjc/dicelang/dice/MathDie.java /^ private Die right;$/;" f class:MathDie file:
+right src/bjc/dicelang/v1/CompoundDice.java /^ private IDiceExpression right;$/;" f class:CompoundDice file:
+right src/bjc/dicelang/v1/OperatorDiceExpression.java /^ private IDiceExpression right;$/;" f class:OperatorDiceExpression file:
+rng src/bjc/dicelang/dice/DiceBox.java /^ static final Random rng = new Random();$/;" f class:DiceBox
+rng src/bjc/dicelang/v1/Die.java /^ private static Random rng = new Random();$/;" f class:Die file:
+roll src/bjc/dicelang/dice/CompoundDie.java /^ public long roll() {$/;" m class:CompoundDie
+roll src/bjc/dicelang/dice/CompoundingDie.java /^ public long roll() {$/;" m class:CompoundingDie
+roll src/bjc/dicelang/dice/Die.java /^ long roll();$/;" m interface:Die
+roll src/bjc/dicelang/dice/DieList.java /^ long[] roll();$/;" m interface:DieList
+roll src/bjc/dicelang/dice/ExplodingDice.java /^ public long[] roll() {$/;" m class:ExplodingDice
+roll src/bjc/dicelang/dice/FudgeDie.java /^ public long roll() {$/;" m class:FudgeDie
+roll src/bjc/dicelang/dice/MathDie.java /^ public long roll() {$/;" m class:MathDie
+roll src/bjc/dicelang/dice/ScalarDie.java /^ public long roll() {$/;" m class:ScalarDie
+roll src/bjc/dicelang/dice/SimpleDie.java /^ public long roll() {$/;" m class:SimpleDie
+roll src/bjc/dicelang/dice/SimpleDieList.java /^ public long[] roll() {$/;" m class:SimpleDieList
+roll src/bjc/dicelang/v1/BindingDiceExpression.java /^ public int roll() {$/;" m class:BindingDiceExpression
+roll src/bjc/dicelang/v1/ComplexDice.java /^ public int roll() {$/;" m class:ComplexDice
+roll src/bjc/dicelang/v1/CompoundDice.java /^ public int roll() {$/;" m class:CompoundDice
+roll src/bjc/dicelang/v1/Die.java /^ public int roll() {$/;" m class:Die
+roll src/bjc/dicelang/v1/IDiceExpression.java /^ public int roll();$/;" m interface:IDiceExpression
+roll src/bjc/dicelang/v1/OperatorDiceExpression.java /^ public int roll() {$/;" m class:OperatorDiceExpression
+roll src/bjc/dicelang/v1/ReferenceDiceExpression.java /^ public int roll() {$/;" m class:ReferenceDiceExpression
+roll src/bjc/dicelang/v1/ScalarDie.java /^ public int roll() {$/;" m class:ScalarDie
+rollReference src/bjc/dicelang/v1/examples/DiceLanguageTest.java /^ private static void rollReference(String ln, DiceLanguageState stat) {$/;" m class:DiceLanguageTest file:
+rollSingle src/bjc/dicelang/dice/CompoundDie.java /^ public long rollSingle() {$/;" m class:CompoundDie
+rollSingle src/bjc/dicelang/dice/CompoundingDie.java /^ public long rollSingle() {$/;" m class:CompoundingDie
+rollSingle src/bjc/dicelang/dice/Die.java /^ long rollSingle();$/;" m interface:Die
+rollSingle src/bjc/dicelang/dice/FudgeDie.java /^ public long rollSingle() {$/;" m class:FudgeDie
+rollSingle src/bjc/dicelang/dice/MathDie.java /^ public long rollSingle() {$/;" m class:MathDie
+rollSingle src/bjc/dicelang/dice/ScalarDie.java /^ public long rollSingle() {$/;" m class:ScalarDie
+rollSingle src/bjc/dicelang/dice/SimpleDie.java /^ public long rollSingle() {$/;" m class:SimpleDie
+run src/bjc/dicelang/DiceLangConsole.java /^ public void run() {$/;" m class:DiceLangConsole
+runCommand src/bjc/dicelang/DiceLangEngine.java /^ public boolean runCommand(String command) {$/;" m class:DiceLangEngine
+sanitize src/bjc/dicelang/v1/ast/DiceASTReferenceSanitizer.java /^ public static ITree<IDiceASTNode> sanitize(ITree<IDiceASTNode> ast,$/;" m class:DiceASTReferenceSanitizer
+scalar src/bjc/dicelang/dice/DieExpression.java /^ public Die scalar;$/;" f class:DieExpression
+scalarDie src/bjc/dicelang/dice/DiceBox.java /^ private static final String scalarDie = "[\\\\+\\\\-]?\\\\d+sd";$/;" f class:DiceBox file:
+scalarDiePattern src/bjc/dicelang/dice/DiceBox.java /^ private static final Pattern scalarDiePattern = Pattern.compile("\\\\A" + scalarDie + "\\\\Z");$/;" f class:DiceBox file:
+searcher src/bjc/dicelang/Define.java /^ private Pattern searcher;$/;" f class:Define file:
+selectiveInline src/bjc/dicelang/v1/ast/DiceASTInliner.java /^ public static ITree<IDiceASTNode> selectiveInline($/;" m class:DiceASTInliner
+shouldContinuePopping src/bjc/dicelang/v1/ast/DiceASTParser.java /^ private static boolean shouldContinuePopping($/;" m class:DiceASTParser file:
+shouldSanitize src/bjc/dicelang/v1/ast/DiceASTReferenceSanitizer.java /^ private static TopDownTransformResult shouldSanitize($/;" m class:DiceASTReferenceSanitizer file:
+shunt src/bjc/dicelang/DiceLangEngine.java /^ private Shunter shunt;$/;" f class:DiceLangEngine file:
+shuntToken src/bjc/dicelang/Shunter.java /^ private boolean shuntToken(Token tk, Deque<Token> opStack,$/;" m class:Shunter file:
+shuntTokens src/bjc/dicelang/Shunter.java /^ public boolean shuntTokens(IList<Token> tks, IList<Token> returned) {$/;" m class:Shunter
+simpleDie src/bjc/dicelang/dice/DiceBox.java /^ private static final String simpleDie = "(?:\\\\d+)?d\\\\d+";$/;" f class:DiceBox file:
+simpleDiePattern src/bjc/dicelang/dice/DiceBox.java /^ private static final Pattern simpleDiePattern = Pattern.compile("\\\\A" + simpleDie + "\\\\Z");$/;" f class:DiceBox file:
+size src/bjc/dicelang/dice/SimpleDieList.java /^ private Die size;$/;" f class:SimpleDieList file:
+slashPattern src/bjc/dicelang/DiceLangConsole.java /^ private Pattern slashPattern = Pattern.compile("\/((?:\\\\\\\\.|[^\/\\\\\\\\])*)\/");$/;" f class:DiceLangConsole file:
+sortDefns src/bjc/dicelang/DiceLangEngine.java /^ public void sortDefns() {$/;" m class:DiceLangEngine
+source src/bjc/dicelang/dice/CompoundingDie.java /^ private Die source;$/;" f class:CompoundingDie file:
+source src/bjc/dicelang/dice/ExplodingDice.java /^ private Die source;$/;" f class:ExplodingDice file:
+stepDebug src/bjc/dicelang/Evaluator.java /^ public Iterator<ITree<Node>> stepDebug(ITree<Node> comm) {$/;" m class:Evaluator
+stepEval src/bjc/dicelang/DiceLangEngine.java /^ private boolean stepEval;$/;" f class:DiceLangEngine file:
+streamEng src/bjc/dicelang/DiceLangEngine.java /^ private StreamEngine streamEng;$/;" f class:DiceLangEngine file:
+streams src/bjc/dicelang/StreamEngine.java /^ private Tape<IList<String>> streams;$/;" f class:StreamEngine file:
+stringLitMatcher src/bjc/dicelang/Tokenizer.java /^ private Pattern stringLitMatcher = Pattern.compile("\\\\AstringLiteral(\\\\d+)\\\\Z");$/;" f class:Tokenizer file:
+stringLits src/bjc/dicelang/DiceLangEngine.java /^ public final IMap<Integer, String> stringLits;$/;" f class:DiceLangEngine
+stringVal src/bjc/dicelang/EvaluatorResult.java /^ public String stringVal;$/;" f class:EvaluatorResult
+subType src/bjc/dicelang/Define.java /^ private boolean subType;$/;" f class:Define file:
+subtract src/bjc/dicelang/v1/DiceExpressionBuilder.java /^ public DiceExpressionBuilder subtract(IDiceExpression exp) {$/;" m class:DiceExpressionBuilder
+subtract src/bjc/dicelang/v1/DiceExpressionBuilder.java /^ public DiceExpressionBuilder subtract(int num) {$/;" m class:DiceExpressionBuilder
+subtractCollapser src/bjc/dicelang/v1/ast/optimization/ConstantCollapser.java /^ private static final ArithmeticCollapser subtractCollapser = new ArithmeticCollapser($/;" f class:ConstantCollapser file:
+symTable src/bjc/dicelang/DiceLangEngine.java /^ public final IMap<Integer, String> symTable;$/;" f class:DiceLangEngine
+thunk src/bjc/dicelang/Evaluator.java /^ public Consumer<Iterator<ITree<Node>>> thunk;$/;" f class:Evaluator.Context
+toExpression src/bjc/dicelang/v1/IDiceExpression.java /^ static IDiceExpression toExpression(String expression) {$/;" m interface:IDiceExpression
+toString src/bjc/dicelang/EvaluatorResult.java /^ public String toString() {$/;" m class:EvaluatorResult
+toString src/bjc/dicelang/Node.java /^ public String toString() {$/;" m class:Node
+toString src/bjc/dicelang/Token.java /^ public String toString() {$/;" m class:Token
+toString src/bjc/dicelang/dice/CompoundDie.java /^ public String toString() {$/;" m class:CompoundDie
+toString src/bjc/dicelang/dice/CompoundingDie.java /^ public String toString() {$/;" m class:CompoundingDie
+toString src/bjc/dicelang/dice/DieExpression.java /^ public String toString() {$/;" m class:DieExpression
+toString src/bjc/dicelang/dice/ExplodingDice.java /^ public String toString() {$/;" m class:ExplodingDice
+toString src/bjc/dicelang/dice/FudgeDie.java /^ public String toString() {$/;" m class:FudgeDie
+toString src/bjc/dicelang/dice/MathDie.java /^ public String toString() {$/;" m class:MathDie.MathOp
+toString src/bjc/dicelang/dice/MathDie.java /^ public String toString() {$/;" m class:MathDie
+toString src/bjc/dicelang/dice/ScalarDie.java /^ public String toString() {$/;" m class:ScalarDie
+toString src/bjc/dicelang/dice/SimpleDie.java /^ public String toString() {$/;" m class:SimpleDie
+toString src/bjc/dicelang/dice/SimpleDieList.java /^ public String toString() {$/;" m class:SimpleDieList
+toString src/bjc/dicelang/v1/BindingDiceExpression.java /^ public String toString() {$/;" m class:BindingDiceExpression
+toString src/bjc/dicelang/v1/ComplexDice.java /^ public String toString() {$/;" m class:ComplexDice
+toString src/bjc/dicelang/v1/CompoundDice.java /^ public String toString() {$/;" m class:CompoundDice
+toString src/bjc/dicelang/v1/DiceExpressionType.java /^ public String toString() {$/;" m class:DiceExpressionType
+toString src/bjc/dicelang/v1/Die.java /^ public String toString() {$/;" m class:Die
+toString src/bjc/dicelang/v1/OperatorDiceExpression.java /^ public String toString() {$/;" m class:OperatorDiceExpression
+toString src/bjc/dicelang/v1/ReferenceDiceExpression.java /^ public String toString() {$/;" m class:ReferenceDiceExpression
+toString src/bjc/dicelang/v1/ScalarDie.java /^ public String toString() {$/;" m class:ScalarDie
+toString src/bjc/dicelang/v1/ast/ArrayResult.java /^ public String toString() {$/;" m class:ArrayResult
+toString src/bjc/dicelang/v1/ast/DummyResult.java /^ public String toString() {$/;" m class:DummyResult
+toString src/bjc/dicelang/v1/ast/IntegerResult.java /^ public String toString() {$/;" m class:IntegerResult
+toString src/bjc/dicelang/v1/ast/nodes/DiceASTType.java /^ public String toString() {$/;" m class:DiceASTType
+toString src/bjc/dicelang/v1/ast/nodes/DiceLiteralNode.java /^ public String toString() {$/;" m class:DiceLiteralNode
+toString src/bjc/dicelang/v1/ast/nodes/IntegerLiteralNode.java /^ public String toString() {$/;" m class:IntegerLiteralNode
+toString src/bjc/dicelang/v1/ast/nodes/VariableDiceNode.java /^ public String toString() {$/;" m class:VariableDiceNode
+toggleDebug src/bjc/dicelang/DiceLangEngine.java /^ public boolean toggleDebug() {$/;" m class:DiceLangEngine
+togglePostfix src/bjc/dicelang/DiceLangEngine.java /^ public boolean togglePostfix() {$/;" m class:DiceLangEngine
+togglePrefix src/bjc/dicelang/DiceLangEngine.java /^ public boolean togglePrefix() {$/;" m class:DiceLangEngine
+toggleStepEval src/bjc/dicelang/DiceLangEngine.java /^ public boolean toggleStepEval() {$/;" m class:DiceLangEngine
+tokenDefns src/bjc/dicelang/DiceLangEngine.java /^ private IList<Define> tokenDefns;$/;" f class:DiceLangEngine file:
+tokenVal src/bjc/dicelang/Node.java /^ public Token tokenVal;$/;" f class:Node
+tokenValues src/bjc/dicelang/Token.java /^ public IList<Token> tokenValues;$/;" f class:Token
+tokenizeGrouping src/bjc/dicelang/Tokenizer.java /^ private Token tokenizeGrouping(String token) {$/;" m class:Tokenizer file:
+tokenizeLiteral src/bjc/dicelang/Tokenizer.java /^ private Token tokenizeLiteral(String token, IMap<String, String> stringLts) {$/;" m class:Tokenizer file:
+tokenzer src/bjc/dicelang/DiceLangEngine.java /^ private Tokenizer tokenzer;$/;" f class:DiceLangEngine file:
+transformAST src/bjc/dicelang/v1/examples/DiceASTLanguageTest.java /^ private static ITree<IDiceASTNode> transformAST($/;" m class:DiceASTLanguageTest file:
+type src/bjc/dicelang/EvaluatorResult.java /^ public final EvaluatorResult.Type type;$/;" f class:EvaluatorResult
+type src/bjc/dicelang/Node.java /^ public final Type type;$/;" f class:Node
+type src/bjc/dicelang/Token.java /^ public final Type type;$/;" f class:Token
+type src/bjc/dicelang/dice/MathDie.java /^ private MathDie.MathOp type;$/;" f class:MathDie file:
+type src/bjc/dicelang/v1/OperatorDiceExpression.java /^ private DiceExpressionType type;$/;" f class:OperatorDiceExpression file:
+type src/bjc/dicelang/v1/ast/ArithmeticCollapser.java /^ private OperatorDiceNode type;$/;" f class:ArithmeticCollapser file:
+type src/bjc/dicelang/v1/ast/nodes/OperatorDiceNode.java /^ public final DiceOperatorType type;$/;" f class:OperatorDiceNode
+type src/bjc/dicelang/v1/ast/optimization/ArithmeticCollapser.java /^ private OperatorDiceNode type;$/;" f class:ArithmeticCollapser file:
+unaryAdjectives src/bjc/dicelang/Shunter.java /^ private Set<Token.Type> unaryAdjectives;$/;" f class:Shunter file:
+unaryAdverbs src/bjc/dicelang/Shunter.java /^ private Set<Token.Type> unaryAdverbs;$/;" f class:Shunter file:
+unaryGerunds src/bjc/dicelang/Shunter.java /^ private Set<Token.Type> unaryGerunds;$/;" f class:Shunter file:
+val src/bjc/dicelang/dice/ScalarDie.java /^ private long val;$/;" f class:ScalarDie file:
+value src/bjc/dicelang/dice/DieExpression.java /^ public String value() {$/;" m class:DieExpression
+value src/bjc/dicelang/v1/ast/IntegerResult.java /^ private int value;$/;" f class:IntegerResult file:
+value src/bjc/dicelang/v1/ast/nodes/IntegerLiteralNode.java /^ private int value;$/;" f class:IntegerLiteralNode file:
+valueOp src/bjc/dicelang/v1/ast/ArithmeticCollapser.java /^ private BinaryOperator<Integer> valueOp;$/;" f class:ArithmeticCollapser file:
+varName src/bjc/dicelang/v1/ast/DiceASTReferenceChecker.java /^ private String varName;$/;" f class:DiceASTReferenceChecker file:
+variableName src/bjc/dicelang/v1/ast/nodes/VariableDiceNode.java /^ private String variableName;$/;" f class:VariableDiceNode file:
+yard src/bjc/dicelang/v1/examples/DiceExpressionPreparer.java /^ private static ShuntingYard<String> yard;$/;" f class:DiceExpressionPreparer file: