diff options
| author | bjculkin <bjculkin@mix.wvu.edu> | 2017-03-16 14:38:01 -0400 |
|---|---|---|
| committer | bjculkin <bjculkin@mix.wvu.edu> | 2017-03-16 14:42:10 -0400 |
| commit | b570540dd42c375c6b6fe2ad5e85c160e95c58cd (patch) | |
| tree | e97c5e904817fe6710f714f6b4fdbaa1e9818715 /BJC-Utils2/src/examples/java/bjc/utils | |
| parent | 8185b03f18d3b32e84ad9aefbd85c9ad4a3f82df (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.java | 65 |
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(); + } +} |
