From 05c9922b30cd0dcd2a452673c2e155215d074b19 Mon Sep 17 00:00:00 2001 From: "Benjamin J. Culkin" Date: Tue, 5 Jun 2018 22:09:23 -0300 Subject: Templates pt. 3 Templates should now work, though there is no syntax to reference them from rules yet In addition, several internal things have been changed so as to improve code quality --- .../java/bjc/rgens/parser/elements/RuleVariableCaseElement.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'src/main/java/bjc/rgens/parser/elements/RuleVariableCaseElement.java') diff --git a/src/main/java/bjc/rgens/parser/elements/RuleVariableCaseElement.java b/src/main/java/bjc/rgens/parser/elements/RuleVariableCaseElement.java index fa1783f..cbd8ce1 100644 --- a/src/main/java/bjc/rgens/parser/elements/RuleVariableCaseElement.java +++ b/src/main/java/bjc/rgens/parser/elements/RuleVariableCaseElement.java @@ -18,17 +18,17 @@ public class RuleVariableCaseElement extends VariableCaseElement { } public void generate(GenerationState state) { - IPair par = state.findRule(varDef, true); + Rule rl = state.findRule(varDef, true); - if(par == null) { + if(rl == null) { throw new GrammarException("Can't create variable referencing non-existent rule " + varDef); } if(exhaust) { - par = new Pair<>(par.getLeft(), par.getRight().exhaust()); + rl = rl.exhaust(); } - state.rlVars.put(varName, par); + state.rlVars.put(varName, rl); if(exhaust) { System.err.printf("\t\tFINE: Defined exhausted rulevar '%s' ('%s')\n", varName, varDef); -- cgit v1.2.3