From 825d281097d821048f91eaac8dacf335365cb958 Mon Sep 17 00:00:00 2001 From: "Benjamin J. Culkin" Date: Sun, 3 Jun 2018 21:31:50 -0300 Subject: Weighting part 1 This re-adds the capability to weight rules. However, no syntax has yet been add to perform that rule weighting --- src/main/java/bjc/rgens/parser/RGrammarFormatter.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'src/main/java/bjc/rgens/parser/RGrammarFormatter.java') diff --git a/src/main/java/bjc/rgens/parser/RGrammarFormatter.java b/src/main/java/bjc/rgens/parser/RGrammarFormatter.java index a2454dc..7e058b0 100755 --- a/src/main/java/bjc/rgens/parser/RGrammarFormatter.java +++ b/src/main/java/bjc/rgens/parser/RGrammarFormatter.java @@ -1,6 +1,8 @@ package bjc.rgens.parser; import bjc.rgens.parser.elements.CaseElement; + +import bjc.utils.data.IPair; import bjc.utils.funcdata.IList; import java.util.HashSet; @@ -52,7 +54,7 @@ public class RGrammarFormatter { /* Format a rule. */ private static void processRule(Rule rule, StringBuilder sb) { - IList cases = rule.getCases(); + IList> cases = rule.getCases(); StringBuilder ruleBuilder = new StringBuilder(); @@ -61,20 +63,21 @@ public class RGrammarFormatter { int markerPos = ruleBuilder.length(); - processCase(cases.first(), ruleBuilder); + processCase(cases.first().getRight(), ruleBuilder); sb.append(ruleBuilder.toString().trim()); ruleBuilder = new StringBuilder(); - for (RuleCase cse : cases.tail()) { + for (IPair cse : cases.tail()) { sb.append("\n\t"); for (int i = 8; i < markerPos; i++) { ruleBuilder.append(" "); } - processCase(cse, ruleBuilder); + /* @TODO do this right, once we pick the syntax */ + processCase(cse.getRight(), ruleBuilder); sb.append(ruleBuilder.toString()); -- cgit v1.2.3