From 5f70797f238466715196dd5d893c6ef77e2650fd Mon Sep 17 00:00:00 2001 From: "Benjamin J. Culkin" Date: Mon, 4 Jun 2018 16:59:19 -0300 Subject: Debug info --- src/main/java/bjc/rgens/parser/RGrammar.java | 1 + src/main/java/bjc/rgens/parser/RGrammarTest.java | 2 +- src/main/java/bjc/rgens/parser/RuleCase.java | 8 ++++++++ .../java/bjc/rgens/parser/elements/ExpVariableCaseElement.java | 1 + src/main/java/bjc/rgens/parser/elements/RuleCaseElement.java | 1 + 5 files changed, 12 insertions(+), 1 deletion(-) (limited to 'src/main/java/bjc/rgens') diff --git a/src/main/java/bjc/rgens/parser/RGrammar.java b/src/main/java/bjc/rgens/parser/RGrammar.java index e650a27..1d33dfe 100755 --- a/src/main/java/bjc/rgens/parser/RGrammar.java +++ b/src/main/java/bjc/rgens/parser/RGrammar.java @@ -159,6 +159,7 @@ public class RGrammar { if(rl.doRecur()) { RuleCase start = rules.get(fromRule).getCase(state.rnd); + System.err.printf("\tFINE: Generating case %d (from %s)\n", start.serial, fromRule); generateCase(start, state); diff --git a/src/main/java/bjc/rgens/parser/RGrammarTest.java b/src/main/java/bjc/rgens/parser/RGrammarTest.java index c86336c..e420c21 100755 --- a/src/main/java/bjc/rgens/parser/RGrammarTest.java +++ b/src/main/java/bjc/rgens/parser/RGrammarTest.java @@ -83,7 +83,7 @@ public class RGrammarTest { long genDur = endGenTime - startGenTime; if(gramSet.PERF) - System.err.printf("PERF: Generated %s 100 times in %d ns (%f s)\n", exportName, genDur, genDur / 1000000000.0); + System.err.printf("PERF: Generated %s 100 times in %d ns (%f s)\n\n\n", exportName, genDur, genDur / 1000000000.0); } } catch (IOException ioex) { ioex.printStackTrace(); diff --git a/src/main/java/bjc/rgens/parser/RuleCase.java b/src/main/java/bjc/rgens/parser/RuleCase.java index 21a7ed6..3581d54 100755 --- a/src/main/java/bjc/rgens/parser/RuleCase.java +++ b/src/main/java/bjc/rgens/parser/RuleCase.java @@ -14,6 +14,10 @@ import bjc.utils.funcdata.IList; * @author EVE */ public abstract class RuleCase { + public final int serial; + + private static int nextSerial = 0; + /** * The possible types of a case. * @@ -45,7 +49,11 @@ public abstract class RuleCase { protected IList elementList; protected RuleCase(CaseType typ) { + serial = nextSerial; + type = typ; + + nextSerial += 1; } /** diff --git a/src/main/java/bjc/rgens/parser/elements/ExpVariableCaseElement.java b/src/main/java/bjc/rgens/parser/elements/ExpVariableCaseElement.java index 9c5ad1b..5c66e9f 100755 --- a/src/main/java/bjc/rgens/parser/elements/ExpVariableCaseElement.java +++ b/src/main/java/bjc/rgens/parser/elements/ExpVariableCaseElement.java @@ -21,6 +21,7 @@ public class ExpVariableCaseElement extends VariableCaseElement { if(rl.doRecur()) { RuleCase destCase = state.rules.get(varDef).getCase(); + System.err.printf("\tFINE: Generating case %d (from %s)\n", destCase.serial, varDef); state.gram.generateCase(destCase, newState); diff --git a/src/main/java/bjc/rgens/parser/elements/RuleCaseElement.java b/src/main/java/bjc/rgens/parser/elements/RuleCaseElement.java index 0869a2f..7bab6bf 100755 --- a/src/main/java/bjc/rgens/parser/elements/RuleCaseElement.java +++ b/src/main/java/bjc/rgens/parser/elements/RuleCaseElement.java @@ -37,6 +37,7 @@ public abstract class RuleCaseElement extends StringCaseElement { if(rl.doRecur()) { RuleCase cse = rl.getCase(state.rnd); + System.err.printf("\tFINE: Generating case %d (from %s)\n", cse.serial, actName); state.gram.generateCase(cse, newState); -- cgit v1.2.3