diff options
| author | bjculkin <bjculkin@mix.wvu.edu> | 2017-03-20 15:05:32 -0400 |
|---|---|---|
| committer | bjculkin <bjculkin@mix.wvu.edu> | 2017-03-20 15:05:32 -0400 |
| commit | 4b091676163fbaa4375d09806c0e500533ee1546 (patch) | |
| tree | 144fce6cfc5658a1c335a2b5a5e65681213cc604 /BJC-Utils2/src/main/java/bjc/utils/parserutils/DelimiterGroup.java | |
| parent | 2fa8f2956c1c52ad2282c71509a163de7967ff2d (diff) | |
Move openers into groups, not global
Diffstat (limited to 'BJC-Utils2/src/main/java/bjc/utils/parserutils/DelimiterGroup.java')
| -rw-r--r-- | BJC-Utils2/src/main/java/bjc/utils/parserutils/DelimiterGroup.java | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/BJC-Utils2/src/main/java/bjc/utils/parserutils/DelimiterGroup.java b/BJC-Utils2/src/main/java/bjc/utils/parserutils/DelimiterGroup.java index 37a8726..f3d7c3f 100644 --- a/BJC-Utils2/src/main/java/bjc/utils/parserutils/DelimiterGroup.java +++ b/BJC-Utils2/src/main/java/bjc/utils/parserutils/DelimiterGroup.java @@ -195,6 +195,14 @@ public class DelimiterGroup<T> { public boolean marksSubgroup(T tok) { return subgroups.containsKey(tok); } + + public T doesOpen(T name) { + if(openDelimiters.containsKey(name)) { + return openDelimiters.get(name); + } + + return null; + } } /** @@ -203,6 +211,11 @@ public class DelimiterGroup<T> { public final T groupName; /* + * The delimiters that open groups in this group, + */ + private Map<T, T> openDelimiters; + + /* * The delimiters that close this group. */ private Set<T> closingDelimiters; @@ -234,6 +247,7 @@ public class DelimiterGroup<T> { groupName = name; + openDelimiters = new HashMap<>(); closingDelimiters = new HashSet<>(); topLevelExclusions = new HashSet<>(); groupExclusions = new HashSet<>(); @@ -334,6 +348,10 @@ public class DelimiterGroup<T> { subgroups.put(subgroup, priority); } + + public void addOpener(T opener, T group) { + openDelimiters.put(opener, group); + } @Override public String toString() { |
