summaryrefslogtreecommitdiff
path: root/BJC-Utils2/src/examples/java/bjc/utils
diff options
context:
space:
mode:
authorbjculkin <bjculkin@mix.wvu.edu>2017-03-16 14:38:01 -0400
committerbjculkin <bjculkin@mix.wvu.edu>2017-03-16 14:42:10 -0400
commitb570540dd42c375c6b6fe2ad5e85c160e95c58cd (patch)
treee97c5e904817fe6710f714f6b4fdbaa1e9818715 /BJC-Utils2/src/examples/java/bjc/utils
parent8185b03f18d3b32e84ad9aefbd85c9ad4a3f82df (diff)
Add sequence delimitation.
Essentially, this allows you to convert flat strings to trees that match the delimiter structure of that flat string.
Diffstat (limited to 'BJC-Utils2/src/examples/java/bjc/utils')
-rw-r--r--BJC-Utils2/src/examples/java/bjc/utils/examples/DelimSplitterTest.java65
1 files changed, 65 insertions, 0 deletions
diff --git a/BJC-Utils2/src/examples/java/bjc/utils/examples/DelimSplitterTest.java b/BJC-Utils2/src/examples/java/bjc/utils/examples/DelimSplitterTest.java
new file mode 100644
index 0000000..a836f6e
--- /dev/null
+++ b/BJC-Utils2/src/examples/java/bjc/utils/examples/DelimSplitterTest.java
@@ -0,0 +1,65 @@
+package bjc.utils.examples;
+
+import bjc.utils.data.ITree;
+import bjc.utils.funcutils.SequenceDelimiter;
+import bjc.utils.funcutils.SequenceDelimiter.DelimiterException;
+import bjc.utils.funcutils.TokenSplitter;
+
+import java.util.Arrays;
+import java.util.Scanner;
+
+/**
+ * Test for {@link SequenceDelimiter} as well as {@link TokenSplitter}
+ *
+ * @author EVE
+ *
+ */
+public class DelimSplitterTest {
+ /**
+ * Main method
+ *
+ * @param args
+ * Unused CLI args.
+ */
+ public static void main(String[] args) {
+ Scanner scn = new Scanner(System.in);
+
+ TokenSplitter split = new TokenSplitter();
+ split.addDelimiter("(", ")");
+ split.addDelimiter("[", "]");
+ split.addDelimiter("{", "}");
+ split.addDelimiter("+", "-", "*", "/");
+ split.compile();
+
+ SequenceDelimiter dlm = new SequenceDelimiter();
+ dlm.addGroup(new String[] { "(" }, "parens", ")");
+ dlm.addGroup(new String[] { "[" }, "brackets", "]");
+ dlm.addGroup(new String[] { "{" }, "braces", "}");
+
+ System.out.print("Enter a sequence to delimit (blank line to quit): ");
+ String inp = scn.nextLine();
+ System.out.println();
+
+ while(!inp.equals("")) {
+ String[] strings = split.split(inp);
+
+ System.out.println("Split tokens: " + Arrays.deepToString(strings));
+
+ try {
+ ITree<String> delim = dlm.delimitSequence(strings);
+
+ System.out.println("Delimited tokens:\n" + delim.toString());
+ } catch(DelimiterException dex) {
+ System.out.println("Expression isn't properly delimited.");
+ System.out.println("Cause: " + dex.getMessage());
+ }
+
+ System.out.println();
+ System.out.print("Enter a sequence to delimit (blank line to quit): ");
+ inp = scn.nextLine();
+ System.out.println();
+ }
+
+ scn.close();
+ }
+}