summaryrefslogtreecommitdiff
path: root/src/main/java/bjc/rgens/parser/RGrammarSet.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/bjc/rgens/parser/RGrammarSet.java')
-rwxr-xr-xsrc/main/java/bjc/rgens/parser/RGrammarSet.java21
1 files changed, 12 insertions, 9 deletions
diff --git a/src/main/java/bjc/rgens/parser/RGrammarSet.java b/src/main/java/bjc/rgens/parser/RGrammarSet.java
index 975510a..c797b8c 100755
--- a/src/main/java/bjc/rgens/parser/RGrammarSet.java
+++ b/src/main/java/bjc/rgens/parser/RGrammarSet.java
@@ -7,6 +7,7 @@ import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.HashMap;
import java.util.Map;
+import java.util.TreeMap;
import java.util.Scanner;
import java.util.Set;
@@ -34,7 +35,7 @@ public class RGrammarSet {
exportedRules = new HashMap<>();
- exportFrom = new HashMap<>();
+ exportFrom = new TreeMap<>();
loadedFrom = new HashMap<>();
}
@@ -256,14 +257,16 @@ public class RGrammarSet {
*/
Path convPath = cfgParent.resolve(path.toString());
- //if(Files.isDirectory(convPath)) {
- // /* @TODO implement subset grammars */
- // throw new GrammarException("Sub-grammar sets aren't implemented yet");
- //} else if (convPath.getFileName().endsWith(".gram")) {
+ if(Files.isDirectory(convPath)) {
+ /* @TODO implement subset grammars */
+ throw new GrammarException("Sub-grammar sets aren't implemented yet");
+ } else if (convPath.getFileName().toString().endsWith(".gram")) {
/* Load grammar file. */
try {
+
BufferedReader fis = Files.newBufferedReader(convPath);
RGrammar gram = RGrammarParser.readGrammar(fis);
+
fis.close();
/* Add grammar to the set. */
@@ -278,10 +281,10 @@ public class RGrammarSet {
String msg = String.format("Error loading file '%s'", path);
throw new GrammarException(msg, gex);
}
- //} else {
- // String msg = String.format("Unrecognized file type '%s'", convPath.getFileName());
- // throw new GrammarException(msg);
- //}
+ } else {
+ String msg = String.format("Unrecognized file type '%s'", convPath.getFileName());
+ throw new GrammarException(msg);
+ }
}
}