diff options
Diffstat (limited to 'dice-lang')
| -rw-r--r-- | dice-lang/src/bjc/dicelang/Define.java | 13 | ||||
| -rw-r--r-- | dice-lang/src/bjc/dicelang/DiceLangEngine.java | 293 | ||||
| -rw-r--r-- | dice-lang/src/bjc/dicelang/Errors.java | 254 | ||||
| -rw-r--r-- | dice-lang/src/bjc/dicelang/StreamEngine.java | 134 | ||||
| -rw-r--r-- | dice-lang/src/bjc/dicelang/dice/CompoundDie.java | 24 | ||||
| -rw-r--r-- | dice-lang/src/bjc/dicelang/dice/CompoundingDie.java | 31 | ||||
| -rw-r--r-- | dice-lang/src/bjc/dicelang/dice/DiceBox.java | 107 | ||||
| -rw-r--r-- | dice-lang/src/bjc/dicelang/dice/Die.java | 30 | ||||
| -rw-r--r-- | dice-lang/src/bjc/dicelang/dice/DieExpression.java | 30 | ||||
| -rw-r--r-- | dice-lang/src/bjc/dicelang/dice/DieList.java | 24 | ||||
| -rw-r--r-- | dice-lang/src/bjc/dicelang/dice/ExplodingDice.java | 43 | ||||
| -rw-r--r-- | dice-lang/tags | 1408 |
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 & + * 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: |
