diff options
Diffstat (limited to 'RGens/src/main/java')
4 files changed, 140 insertions, 140 deletions
diff --git a/RGens/src/main/java/bjc/RGens/ZadronsPouch.java b/RGens/src/main/java/bjc/RGens/ZadronsPouch.java index 5b1615d..5fbc5c8 100644 --- a/RGens/src/main/java/bjc/RGens/ZadronsPouch.java +++ b/RGens/src/main/java/bjc/RGens/ZadronsPouch.java @@ -22,8 +22,7 @@ public class ZadronsPouch { ZadronsPouch zp = new ZadronsPouch(); for (int i = 0; i < 100; i++) { - IList<String> ls = zp.grammar - .generateListValues("<item>", " "); + IList<String> ls = zp.grammar.generateListValues("<item>", " "); StringBuilder sb = new StringBuilder(); @@ -41,150 +40,180 @@ public class ZadronsPouch { public ZadronsPouch() { grammar = new RandomGrammar<>(); - addRule("<item>", "<egg>", "<glove>", "<crys-sphere>", "<rock>", - "<figurine>", "<vial>", "<mini-weapon>", "<bag>", "<card>", - "<rope>", "<box>", "<wand>"); + addRule("<item>", + "<egg>", "<glove>", "<crys-sphere>", "<rock>", + "<figurine>", "<vial>", "<mini-weapon>", "<bag>", + "<card>", "<rope>", "<box>", "<wand>"); addEggRules(); - addGloveRules(); - addCrysSphereRules(); - addRockRules(); addFigurineRules(); - addVialRules(); - addMiniWeaponRules(); - addBagRules(); addCardRules(); - addRopeRules(); - addBoxRules(); - addWandRules(); } private void addBagRules() { - addRule("<bag>", "bag of <bag-type>", "<sack-type> sack", - "<purse-type> purse"); - addRule("<bag-type>", "holding", "tricks", "useful items", + addRule("<bag>", + "bag of <bag-type>", "<sack-type> sack", "<purse-type> purse"); + addRule("<bag-type>", + "holding", "tricks", "useful items", "devouring", "dwarf-kind", "invisible cloth", "monster summoning"); - addRule("<sack-type>", "lunch", "recursive"); - addRule("<purse-type>", "everfull"); + addRule("<sack-type>", + "lunch", "recursive"); + addRule("<purse-type>", + "everfull"); } private void addBoxRules() { - addRule("<box>", "<box-type> box", "cube of <box-type>"); - addRule("<box-type>", "limited-force", "frost-resisting", - "morphing", "self-destructing", "pandora", "panicking"); + addRule("<box>", + "<box-type> box", "cube of <box-type>"); + addRule("<box-type>", + "limited-force", "frost-resisting", "morphing", + "self-destructing", "pandora", "panicking"); } private void addCardRules() { - addRule("<card>", "card of <card-type>", "<card-type> card"); - addRule("<card-type>", "fate", "teleporting", "elusive treasure", - "spell-storing", "many-things", "imprisoning", "messaging", - "bounty"); + addRule("<card>", + "card of <card-type>", "<card-type> card"); + addRule("<card-type>", + "fate", "teleporting", "elusive treasure", "spell-storing", + "many-things", "imprisoning", "messaging", "bounty"); } private void addCrysSphereRules() { - addRule("<crys-sphere>", "<sphere-type> spheres", - "<sphere-type> sphere", "lens of <lens-type>", - "<crystal-type> crystal", "crystal of <crystal-type>", - "crystal ball", "crystal ball of <crys-suffix>"); - addRule("<sphere-type>", "microphonic", "seeing-eye"); - addRule("<lens-type>", "detection"); - addRule("<crystal-type>", "prison", "radar"); - addRule("<crys-suffix>", "jumping"); + addRule("<crys-sphere>", + "<sphere-type> spheres", "<sphere-type> sphere", + "lens of <lens-type>", "<crystal-type> crystal", + "crystal of <crystal-type>", "crystal ball", + "crystal ball of <crys-suffix>"); + addRule("<sphere-type>", + "microphonic", "seeing-eye"); + addRule("<lens-type>", + "detection"); + addRule("<crystal-type>", + "prison", "radar"); + addRule("<crys-suffix>", + "jumping"); } private void addEggRules() { - addRule("<egg>", "<egg-type> egg"); - addRule("<egg-type>", "copper", "stone", "golden", "white", - "white/pink", "glass"); + addRule("<egg>", + "<egg-type> egg"); + addRule("<egg-type>", + "copper", "stone", "golden", + "white", "white/pink", "glass"); } private void addFigurineRules() { - addRule("<figurine>", "<fig-material> <fig-animal>"); - addRule("<fig-material>", "golden", "onyx", "serpentine", "ivory", + addRule("<figurine>", + "<fig-material> <fig-animal>"); + addRule("<fig-material>", + "golden", "onyx", "serpentine", "ivory", "marble", "bronze", "jade", "limestone"); - addRule("<fig-animal>", "lion", "dog", "owl", "goat", "elephant", - "warrior", "palace", "leprechaun"); + addRule("<fig-animal>", + "lion", "dog", "owl", "goat", + "elephant", "warrior", "palace", "leprechaun"); } private void addGloveRules() { - addRule("<glove>", "gauntlets of <gauntlet-type>", - "gloves of <glove-type>", "<glove-type> gloves"); - addRule("<gauntlet-type>", "dexterity", "power"); - addRule("<glove-type>", "pushing", "choking", "bigby", "stunning"); + addRule("<glove>", + "gauntlets of <gauntlet-type>", + "gloves of <glove-type>", + "<glove-type> gloves"); + addRule("<gauntlet-type>", + "dexterity", "power"); + addRule("<glove-type>", + "pushing", "choking", "bigby", "stunning"); } private void addMiniWeaponRules() { - addRule("<mini-weapon>", "minature <weapon-type>", - "small <weapon-type>", "tiny <weapon-type>", - "<sling-type> sling", "<weapon-type>"); - addRule("<weapon-type>", "boomerang", "arrow", "net", "catapult", - "hammer", "sword", "club"); - addRule("<sling-type>", "seeking"); + addRule("<mini-weapon>", + "minature <weapon-type>", "small <weapon-type>", + "tiny <weapon-type>", "<sling-type> sling", + "<weapon-type>"); + addRule("<weapon-type>", + "boomerang", "arrow", "net", + "catapult", "hammer", "sword", "club"); + addRule("<sling-type>", + "seeking"); } private void addRockRules() { - addRule("<rock>", "<pebble-type> pebble", "stone of <stone-type>", + addRule("<rock>", + "<pebble-type> pebble", "stone of <stone-type>", "<stone-type> stone", "brick of <brick-type>", "<geode-type> geode"); - addRule("<pebble-type>", "inscribed", "elemental control"); - addRule("<stone-type>", "good-luck", "weight", "blind-defense", - "metal-clinging"); - addRule("<brick-type>", "flying"); - addRule("<geode-type>", "ioun"); + addRule("<pebble-type>", + "inscribed", "elemental control"); + addRule("<stone-type>", + "good-luck", "weight", + "blind-defense", "metal-clinging"); + addRule("<brick-type>", + "flying"); + addRule("<geode-type>", + "ioun"); } private void addRopeRules() { - addRule("<rope>", "<rope-type> rope", "rope of <rope-type>", + addRule("<rope>", + "<rope-type> rope", "rope of <rope-type>", "ball of <string-type> <string-kind>"); - addRule("<rope-type>", "trick", "entangling", "climbing", - "dancing", "tripping", "snaring", "levitating", - "self-entangling"); - addRule("<string-type>", "endless"); - addRule("<string-kind>", "string", "yarn"); + addRule("<rope-type>", + "trick", "entangling", "climbing", "dancing", + "tripping", "snaring", "levitating", "self-entangling"); + addRule("<string-type>", + "endless"); + addRule("<string-kind>", + "string", "yarn"); } private void addRule(String rule, String... cases) { IList<IList<String>> cses = new FunctionalList<>(); for (String strang : cases) { - cses.add(FunctionalStringTokenizer.fromString(strang) - .toList(s -> s)); + cses.add(FunctionalStringTokenizer.fromString(strang).toList(s -> s)); } grammar.makeRule(rule, cses); } private void addVialRules() { - addRule("<vial>", "vial of <vial-type>", "<vial-type> vial", + addRule("<vial>", + "vial of <vial-type>", "<vial-type> vial", "<bottle-type> bottle", "<flask-type> flask"); - addRule("<vial-type>", "holding", "trapping", "experience", - "unnatural regeneration"); - addRule("<bottle-type>", "ever-smoking", "wheezing", + addRule("<vial-type>", + "holding", "trapping", + "experience", "unnatural regeneration"); + addRule("<bottle-type>", + "ever-smoking", "wheezing", "blank potion"); - addRule("<flask-type>", "iron"); + addRule("<flask-type>", + "iron"); } private void addWandRules() { - addRule("<wand>", "<wand-type> wand", "wand of <wand-type>", + addRule("<wand>", + "<wand-type> wand", "wand of <wand-type>", "canceling <wand-type> wand"); - addRule("<wand-type>", "magic missile", "<spell-1>", "<spell-2>", + addRule("<wand-type>", + "magic missile", "<spell-1>", "<spell-2>", "gusting", "life-detecting", "zadron"); - addRule("<spell-1>", "frost", "fire", "lightning", "fear", - "illumination", "polymorphing", "conjuration", - "paralyzing"); - addRule("<spell-2>", "<spell2-type> detecting"); - addRule("<spell2-type>", "magic", "enemy", "secret door/trap"); + addRule("<spell-1>", + "frost", "fire", "lightning", "fear", + "illumination", "polymorphing", "conjuration", "paralyzing"); + addRule("<spell-2>", + "<spell2-type> detecting"); + addRule("<spell2-type>", + "magic", "enemy", "secret door/trap"); } } diff --git a/RGens/src/main/java/bjc/RGens/parser/GrammarReaderApp.java b/RGens/src/main/java/bjc/RGens/parser/GrammarReaderApp.java index 6f96874..1939c5e 100644 --- a/RGens/src/main/java/bjc/RGens/parser/GrammarReaderApp.java +++ b/RGens/src/main/java/bjc/RGens/parser/GrammarReaderApp.java @@ -20,7 +20,6 @@ import bjc.utils.gui.awt.SimpleFileDialog; * */ public class GrammarReaderApp { - /** * Main method of class * @@ -29,9 +28,9 @@ public class GrammarReaderApp { */ public static void main(String[] args) { try { - UIManager.setLookAndFeel( - UIManager.getSystemLookAndFeelClassName()); - } catch (ClassNotFoundException | InstantiationException + UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); + } catch (ClassNotFoundException + | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException e) { e.printStackTrace(); @@ -43,8 +42,7 @@ public class GrammarReaderApp { @SuppressWarnings("null") private static void doSingleFile() { - File gramFile = SimpleFileDialog.getOpenFile(null, - "Choose Grammar File", ".gram"); + File gramFile = SimpleFileDialog.getOpenFile(null, "Choose Grammar File", ".gram"); WeightedGrammar<String> grammar = null; @@ -63,7 +61,8 @@ public class GrammarReaderApp { return leftString.compareTo(rightString); }); - initRule = SimpleDialogs.getChoice(null, "Pick a initial rule", + initRule = SimpleDialogs.getChoice(null, + "Pick a initial rule", "Pick a initial rule to generate choices from", grammar.getRuleNames().toArray(new String[0])); } else { @@ -74,8 +73,7 @@ public class GrammarReaderApp { "Enter number of repetitions", "Enter the number of items to generate from the rule"); - File outputFile = SimpleFileDialog.getSaveFile(null, - "Choose Grammar File"); + File outputFile = SimpleFileDialog.getSaveFile(null, "Choose Grammar File"); PrintStream outputStream = null; @@ -86,8 +84,7 @@ public class GrammarReaderApp { } for (int i = 0; i < count; i++) { - String ruleResult = ListUtils.collapseTokens( - grammar.generateListValues(initRule, " ")); + String ruleResult = ListUtils.collapseTokens(grammar.generateListValues(initRule, " ")); outputStream.println(ruleResult.replaceAll("\\s+", " ")); } diff --git a/RGens/src/main/java/bjc/RGens/parser/RBGrammarReader.java b/RGens/src/main/java/bjc/RGens/parser/RBGrammarReader.java index af03da0..84fee01 100644 --- a/RGens/src/main/java/bjc/RGens/parser/RBGrammarReader.java +++ b/RGens/src/main/java/bjc/RGens/parser/RBGrammarReader.java @@ -28,22 +28,18 @@ public class RBGrammarReader { state.startNewSubgrammar(); }); - reader.addPragma("load-sub-grammar", - RBGrammarReader::loadSubGrammar); + reader.addPragma("load-sub-grammar", RBGrammarReader::loadSubGrammar); reader.addPragma("save-sub-grammar", RBGrammarReader::saveGrammar); + reader.addPragma("edit-sub-grammar", RBGrammarReader::editSubGrammar); + reader.addPragma("remove-sub-grammar", RBGrammarReader::removeSubGrammar); - reader.addPragma("edit-sub-grammar", - RBGrammarReader::editSubGrammar); reader.addPragma("edit-parent", (tokenizer, state) -> { state.editParent(); }); reader.addPragma("promote", RBGrammarReader::promoteGrammar); - reader.addPragma("subordinate", - RBGrammarReader::subordinateGrammar); + reader.addPragma("subordinate", RBGrammarReader::subordinateGrammar); - reader.addPragma("remove-sub-grammar", - RBGrammarReader::removeSubGrammar); } private static void debugGrammar(ReaderState state) { @@ -56,15 +52,13 @@ public class RBGrammarReader { System.out.println(); } - private static void doCase(FunctionalStringTokenizer tokenizer, - ReaderState state) { + private static void doCase(FunctionalStringTokenizer tokenizer, ReaderState state) { int ruleProbability = readOptionalProbability(tokenizer, state); state.addCase(ruleProbability, tokenizer.toList()); } - private static void editSubGrammar(FunctionalStringTokenizer tokenizer, - ReaderState state) { + private static void editSubGrammar(FunctionalStringTokenizer tokenizer, ReaderState state) { String subgrammarName = tokenizer.nextToken(); state.editSubgrammar(subgrammarName); @@ -82,29 +76,24 @@ public class RBGrammarReader { * If something goes wrong during file reading * */ - public static WeightedGrammar<String> fromPath(Path inputPath) - throws IOException { + public static WeightedGrammar<String> fromPath(Path inputPath) throws IOException { ReaderState initialState = new ReaderState(inputPath); - try (FileInputStream inputStream = new FileInputStream( - inputPath.toFile())) { - return reader.fromStream(inputStream, initialState) - .getGrammar(); + try (FileInputStream inputStream = new FileInputStream(inputPath.toFile())) { + return reader.fromStream(inputStream, initialState).getGrammar(); } catch (IOException ioex) { throw ioex; } } - private static void importRule(FunctionalStringTokenizer tokenizer, - ReaderState state) { + private static void importRule(FunctionalStringTokenizer tokenizer, ReaderState state) { String ruleName = tokenizer.nextToken(); String subgrammarName = tokenizer.nextToken(); state.addGrammarAlias(subgrammarName, ruleName); } - private static void initialRule(FunctionalStringTokenizer tokenizer, - ReaderState state) { + private static void initialRule(FunctionalStringTokenizer tokenizer, ReaderState state) { String initialRuleName = tokenizer.nextToken(); state.setInitialRule(initialRuleName); @@ -131,35 +120,30 @@ public class RBGrammarReader { reader.addPragma("suffix-with", RBGrammarReader::suffixRule); } - private static void loadSubGrammar(FunctionalStringTokenizer stk, - ReaderState rs) { + private static void loadSubGrammar(FunctionalStringTokenizer stk, ReaderState rs) { String subgrammarName = stk.nextToken(); String subgrammarPath = stk.nextToken(); rs.loadSubgrammar(subgrammarName, subgrammarPath); } - private static void prefixRule(FunctionalStringTokenizer tokenizer, - ReaderState state) { + private static void prefixRule(FunctionalStringTokenizer tokenizer, ReaderState state) { String ruleName = tokenizer.nextToken(); String prefixToken = tokenizer.nextToken(); - int additionalProbability = readOptionalProbability(tokenizer, - state); + int additionalProbability = readOptionalProbability(tokenizer, state); state.prefixRule(ruleName, prefixToken, additionalProbability); } - private static void promoteGrammar(FunctionalStringTokenizer tokenizer, - ReaderState state) { + private static void promoteGrammar(FunctionalStringTokenizer tokenizer, ReaderState state) { String subgrammarName = tokenizer.nextToken(); String subordinateName = tokenizer.nextToken(); state.promoteGrammar(subgrammarName, subordinateName); } - private static int readOptionalProbability( - FunctionalStringTokenizer tokenizer, ReaderState state) { + private static int readOptionalProbability(FunctionalStringTokenizer tokenizer, ReaderState state) { if (state.isUniform()) { return 0; } @@ -167,22 +151,19 @@ public class RBGrammarReader { return Integer.parseInt(tokenizer.nextToken()); } - private static void removeRule(FunctionalStringTokenizer tokenizer, - ReaderState state) { + private static void removeRule(FunctionalStringTokenizer tokenizer, ReaderState state) { String ruleName = tokenizer.nextToken(); state.deleteRule(ruleName); } - private static void removeSubGrammar( - FunctionalStringTokenizer tokenizer, ReaderState state) { + private static void removeSubGrammar(FunctionalStringTokenizer tokenizer, ReaderState state) { String subgrammarName = tokenizer.nextToken(); state.deleteSubgrammar(subgrammarName); } - private static void saveGrammar(FunctionalStringTokenizer tokenizer, - ReaderState state) { + private static void saveGrammar(FunctionalStringTokenizer tokenizer, ReaderState state) { String subgrammarName = tokenizer.nextToken(); state.saveSubgrammar(subgrammarName); @@ -208,20 +189,17 @@ public class RBGrammarReader { }); } - private static void subordinateGrammar( - FunctionalStringTokenizer tokenizer, ReaderState state) { + private static void subordinateGrammar(FunctionalStringTokenizer tokenizer, ReaderState state) { String grammarName = tokenizer.nextToken(); state.subordinateGrammar(grammarName); } - private static void suffixRule(FunctionalStringTokenizer tokenizer, - ReaderState state) { + private static void suffixRule(FunctionalStringTokenizer tokenizer, ReaderState state) { String ruleName = tokenizer.nextToken(); String suffixToken = tokenizer.nextToken(); - int additionalProbability = readOptionalProbability(tokenizer, - state); + int additionalProbability = readOptionalProbability(tokenizer, state); state.suffixRule(ruleName, suffixToken, additionalProbability); } diff --git a/RGens/src/main/java/bjc/RGens/parser/ReaderState.java b/RGens/src/main/java/bjc/RGens/parser/ReaderState.java index 680f67b..b455844 100644 --- a/RGens/src/main/java/bjc/RGens/parser/ReaderState.java +++ b/RGens/src/main/java/bjc/RGens/parser/ReaderState.java @@ -65,8 +65,7 @@ public class ReaderState { * @param newWorkingGrammar * The new grammar to use */ - public void setCurrentGrammar( - WeightedGrammar<String> newWorkingGrammar) { + public void setCurrentGrammar(WeightedGrammar<String> newWorkingGrammar) { currentGrammar = newWorkingGrammar; } @@ -121,8 +120,7 @@ public class ReaderState { * @param ruleParts * The parts that make up this case */ - public void addCase(int ruleProbability, - IList<String> ruleParts) { + public void addCase(int ruleProbability, IList<String> ruleParts) { currentGrammar.addCase(currentRule, ruleProbability, ruleParts); } @@ -133,8 +131,7 @@ public class ReaderState { * The name of the subgrammar to edit */ public void editSubgrammar(String subgrammarName) { - WeightedGrammar<String> subgrammar = currentGrammar - .getSubgrammar(subgrammarName); + WeightedGrammar<String> subgrammar = currentGrammar.getSubgrammar(subgrammarName); grammarStack.push(currentGrammar); @@ -168,8 +165,7 @@ public class ReaderState { * @param subgrammarAlias * The name of the alias for the subgrammar */ - public void addGrammarAlias(String subgrammarName, - String subgrammarAlias) { + public void addGrammarAlias(String subgrammarName, String subgrammarAlias) { currentGrammar.addGrammarAlias(subgrammarName, subgrammarAlias); } |
