summaryrefslogtreecommitdiff
path: root/src/main/java/bjc/rgens/parser
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/bjc/rgens/parser')
-rwxr-xr-xsrc/main/java/bjc/rgens/parser/RGrammar.java1
-rwxr-xr-xsrc/main/java/bjc/rgens/parser/RGrammarTest.java2
-rwxr-xr-xsrc/main/java/bjc/rgens/parser/RuleCase.java8
-rwxr-xr-xsrc/main/java/bjc/rgens/parser/elements/ExpVariableCaseElement.java1
-rwxr-xr-xsrc/main/java/bjc/rgens/parser/elements/RuleCaseElement.java1
5 files changed, 12 insertions, 1 deletions
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<CaseElement> 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);