From 4b091676163fbaa4375d09806c0e500533ee1546 Mon Sep 17 00:00:00 2001 From: bjculkin Date: Mon, 20 Mar 2017 15:05:32 -0400 Subject: Move openers into groups, not global --- .../java/bjc/utils/parserutils/DelimiterGroup.java | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'BJC-Utils2/src/main/java/bjc/utils/parserutils/DelimiterGroup.java') 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 { public boolean marksSubgroup(T tok) { return subgroups.containsKey(tok); } + + public T doesOpen(T name) { + if(openDelimiters.containsKey(name)) { + return openDelimiters.get(name); + } + + return null; + } } /** @@ -202,6 +210,11 @@ public class DelimiterGroup { */ public final T groupName; + /* + * The delimiters that open groups in this group, + */ + private Map openDelimiters; + /* * The delimiters that close this group. */ @@ -234,6 +247,7 @@ public class DelimiterGroup { groupName = name; + openDelimiters = new HashMap<>(); closingDelimiters = new HashSet<>(); topLevelExclusions = new HashSet<>(); groupExclusions = new HashSet<>(); @@ -334,6 +348,10 @@ public class DelimiterGroup { subgroups.put(subgroup, priority); } + + public void addOpener(T opener, T group) { + openDelimiters.put(opener, group); + } @Override public String toString() { -- cgit v1.2.3