From 6aa15e30fa75211964428e386b4b6b0f2c66dbc5 Mon Sep 17 00:00:00 2001 From: student Date: Thu, 29 Mar 2018 11:38:02 -0400 Subject: Rename package --- .../bjc/rgens/newparser/RGrammarFormatter.java | 96 ---------------------- 1 file changed, 96 deletions(-) delete mode 100644 RGens/src/main/java/bjc/rgens/newparser/RGrammarFormatter.java (limited to 'RGens/src/main/java/bjc/rgens/newparser/RGrammarFormatter.java') diff --git a/RGens/src/main/java/bjc/rgens/newparser/RGrammarFormatter.java b/RGens/src/main/java/bjc/rgens/newparser/RGrammarFormatter.java deleted file mode 100644 index acb2c07..0000000 --- a/RGens/src/main/java/bjc/rgens/newparser/RGrammarFormatter.java +++ /dev/null @@ -1,96 +0,0 @@ -package bjc.rgens.newparser; - -import bjc.utils.funcdata.IList; - -import java.util.HashSet; -import java.util.Map; -import java.util.Set; - -/** - * Format randomized grammars to strings properly. - * - * @author EVE - */ -public class RGrammarFormatter { - /** - * Format a grammar into a file that represents that grammar. - * - * @param gram - * The grammar to format. - * - * @return - * The formatted grammar. - */ - public static String formatGrammar(RGrammar gram) { - StringBuilder sb = new StringBuilder(); - - Map rules = gram.getRules(); - - String initRuleName = gram.getInitialRule(); - - Set processedRules = new HashSet<>(); - - if (initRuleName != null) { - processRule(rules.get(initRuleName), sb); - - processedRules.add(initRuleName); - } - - for (Rule rule : rules.values()) { - if (!processedRules.contains(rule.name)) { - sb.append("\n\n"); - - processRule(rule, sb); - } - - processedRules.add(rule.name); - } - - return sb.toString().trim(); - } - - /* Format a rule. */ - private static void processRule(Rule rule, StringBuilder sb) { - IList cases = rule.getCases(); - - StringBuilder ruleBuilder = new StringBuilder(); - - ruleBuilder.append(rule.name); - ruleBuilder.append(" \u2192 "); - - int markerPos = ruleBuilder.length(); - - processCase(cases.first(), ruleBuilder); - - sb.append(ruleBuilder.toString().trim()); - - ruleBuilder = new StringBuilder(); - - for (RuleCase cse : cases.tail()) { - sb.append("\n\t"); - - for (int i = 8; i < markerPos; i++) { - ruleBuilder.append(" "); - } - - processCase(cse, ruleBuilder); - - sb.append(ruleBuilder.toString()); - - ruleBuilder = new StringBuilder(); - } - - } - - /* Format a case. */ - private static void processCase(RuleCase cse, StringBuilder sb) { - /* Process each element, adding a space. */ - for (CaseElement element : cse.getElements()) { - sb.append(element.toString()); - sb.append(" "); - } - - /* Remove the trailing space. */ - sb.deleteCharAt(sb.length() - 1); - } -} -- cgit v1.2.3