summaryrefslogtreecommitdiff
path: root/BJC-Utils2/src/main/java/bjc/utils/parserutils/RuleBasedConfigReader.java
diff options
context:
space:
mode:
authorbculkin2442 <bjculkin@mix.wvu.edu>2016-08-24 14:46:16 -0400
committerbculkin2442 <bjculkin@mix.wvu.edu>2016-08-24 14:46:16 -0400
commit90f343c701585066bf30f226811d65f3bce58c95 (patch)
tree8b8d1f07bd2c486c9b2106f87b6c3c61f7300af2 /BJC-Utils2/src/main/java/bjc/utils/parserutils/RuleBasedConfigReader.java
parent6d454caf2bfa5207957b5da775ece2a249857ddd (diff)
Added tentative support for subrules
Added a new sort of config reader that tentatively supports subrules through indentation. I need to actually write a parser that uses it though. I think something to do with trees would work well for testing it.
Diffstat (limited to 'BJC-Utils2/src/main/java/bjc/utils/parserutils/RuleBasedConfigReader.java')
-rw-r--r--BJC-Utils2/src/main/java/bjc/utils/parserutils/RuleBasedConfigReader.java8
1 files changed, 4 insertions, 4 deletions
diff --git a/BJC-Utils2/src/main/java/bjc/utils/parserutils/RuleBasedConfigReader.java b/BJC-Utils2/src/main/java/bjc/utils/parserutils/RuleBasedConfigReader.java
index 67ca215..1ad2ff5 100644
--- a/BJC-Utils2/src/main/java/bjc/utils/parserutils/RuleBasedConfigReader.java
+++ b/BJC-Utils2/src/main/java/bjc/utils/parserutils/RuleBasedConfigReader.java
@@ -1,9 +1,7 @@
package bjc.utils.parserutils;
import java.io.InputStream;
-import java.util.HashMap;
import java.util.InputMismatchException;
-import java.util.Map;
import java.util.Scanner;
import java.util.function.BiConsumer;
import java.util.function.Consumer;
@@ -13,7 +11,9 @@ import bjc.utils.data.IPair;
import bjc.utils.data.Identity;
import bjc.utils.data.Pair;
import bjc.utils.exceptions.UnknownPragmaException;
+import bjc.utils.funcdata.FunctionalMap;
import bjc.utils.funcdata.FunctionalStringTokenizer;
+import bjc.utils.funcdata.IMap;
/**
* This class parses a rules based config file, and uses it to drive a
@@ -30,7 +30,7 @@ public class RuleBasedConfigReader<E> {
private BiConsumer<FunctionalStringTokenizer, E> continueRule;
private Consumer<E> endRule;
- private Map<String, BiConsumer<FunctionalStringTokenizer, E>> pragmas;
+ private IMap<String, BiConsumer<FunctionalStringTokenizer, E>> pragmas;
/**
* Create a new rule-based config reader
@@ -50,7 +50,7 @@ public class RuleBasedConfigReader<E> {
this.continueRule = continueRule;
this.endRule = endRule;
- this.pragmas = new HashMap<>();
+ this.pragmas = new FunctionalMap<>();
}
/**