diff options
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() { |
