summaryrefslogtreecommitdiff
path: root/RGens/src/main/java/bjc/rgens/newparser/RGrammarTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'RGens/src/main/java/bjc/rgens/newparser/RGrammarTest.java')
-rw-r--r--RGens/src/main/java/bjc/rgens/newparser/RGrammarTest.java22
1 files changed, 17 insertions, 5 deletions
diff --git a/RGens/src/main/java/bjc/rgens/newparser/RGrammarTest.java b/RGens/src/main/java/bjc/rgens/newparser/RGrammarTest.java
index 7bfd762..97440f6 100644
--- a/RGens/src/main/java/bjc/rgens/newparser/RGrammarTest.java
+++ b/RGens/src/main/java/bjc/rgens/newparser/RGrammarTest.java
@@ -3,6 +3,7 @@ package bjc.rgens.newparser;
import java.io.IOException;
import java.net.URISyntaxException;
import java.net.URL;
+import java.nio.file.Path;
import java.nio.file.Paths;
/**
@@ -22,22 +23,32 @@ public class RGrammarTest {
URL rsc = RGrammarTest.class.getResource("/server-config-sample.cfg");
try {
- RGrammarSet gramSet = RGrammarSet.fromConfigFile(Paths.get(rsc.toURI()));
+ /* Load a grammar set. */
+ Path cfgPath = Paths.get(rsc.toURI());
+ RGrammarSet gramSet = RGrammarSet.fromConfigFile(cfgPath);
+ /* Generate rule suggestions for all the grammars in the set. */
for (String gramName : gramSet.getGrammars()) {
gramSet.getGrammar(gramName).generateSuggestions();
}
+ /* Generate for each exported rule. */
for (String exportName : gramSet.getExportedRules()) {
RGrammar grammar = gramSet.getExportSource(exportName);
for (int i = 0; i < 10; i++) {
try {
- grammar.generate(exportName);
+ System.out.printf("Generating for exported rule '%s'\n", exportName);
+ String res = grammar.generate(exportName);
+ System.out.printf("\tContents: %s\n", res);
} catch (GrammarException gex) {
- System.out.println("Error in exported rule " + exportName
- + " (loaded from "
- + gramSet.loadedFrom(gramSet.exportedFrom(exportName)));
+ /*
+ * Print out errors with generation.
+ */
+ String fmt = "Error in exported rule '%s' (loaded from '%s')\n";
+ String loadSrc = gramSet.loadedFrom(gramSet.exportedFrom(exportName));
+
+ System.out.printf(fmt, exportName, loadSrc);
System.out.println();
@@ -48,6 +59,7 @@ public class RGrammarTest {
}
}
}
+
} catch (IOException ioex) {
ioex.printStackTrace();
} catch (URISyntaxException urisex) {