diff options
| author | bjculkin <bjculkin@BECK-DZ9BJB2.wvu-ad.wvu.edu> | 2018-03-28 14:46:12 -0400 |
|---|---|---|
| committer | bjculkin <bjculkin@BECK-DZ9BJB2.wvu-ad.wvu.edu> | 2018-03-28 14:46:12 -0400 |
| commit | 8e87516a302172c02db36f2e26137c397a235d48 (patch) | |
| tree | 369af9ad46d5d7f9a2637818356c28e121e3fd1b /JPratt/src/examples/java/bjc/pratt | |
| parent | 10575fbfd89720eb5152c672f69a62d5444393e3 (diff) | |
Add pipeline operator.
Inspired from javascript
Diffstat (limited to 'JPratt/src/examples/java/bjc/pratt')
| -rw-r--r-- | JPratt/src/examples/java/bjc/pratt/examples/lang/PrattParserTest.java | 29 |
1 files changed, 15 insertions, 14 deletions
diff --git a/JPratt/src/examples/java/bjc/pratt/examples/lang/PrattParserTest.java b/JPratt/src/examples/java/bjc/pratt/examples/lang/PrattParserTest.java index f2fa778..91d5b26 100644 --- a/JPratt/src/examples/java/bjc/pratt/examples/lang/PrattParserTest.java +++ b/JPratt/src/examples/java/bjc/pratt/examples/lang/PrattParserTest.java @@ -1,17 +1,7 @@ package bjc.pratt.examples.lang; -import static bjc.pratt.commands.impls.InitialCommands.delimited; -import static bjc.pratt.commands.impls.InitialCommands.grouping; -import static bjc.pratt.commands.impls.InitialCommands.leaf; -import static bjc.pratt.commands.impls.InitialCommands.preTernary; -import static bjc.pratt.commands.impls.InitialCommands.unary; -import static bjc.pratt.commands.impls.NonInitialCommands.chain; -import static bjc.pratt.commands.impls.NonInitialCommands.infixLeft; -import static bjc.pratt.commands.impls.NonInitialCommands.infixNon; -import static bjc.pratt.commands.impls.NonInitialCommands.infixRight; -import static bjc.pratt.commands.impls.NonInitialCommands.postCircumfix; -import static bjc.pratt.commands.impls.NonInitialCommands.postfix; -import static bjc.pratt.commands.impls.NonInitialCommands.ternary; +import static bjc.pratt.commands.impls.InitialCommands.*; +import static bjc.pratt.commands.impls.NonInitialCommands.*; import static bjc.pratt.tokens.StringToken.litToken; import static bjc.utils.functypes.ID.id; @@ -64,8 +54,11 @@ public class PrattParserTest { ops.add("!!!"); - ops.addAll(Arrays.asList("->", "=>")); ops.add(":="); + + ops.add("|>"); + + ops.addAll(Arrays.asList("->", "=>")); ops.addAll(Arrays.asList("||", "&&")); ops.addAll(Arrays.asList("<=", ">=")); @@ -92,8 +85,11 @@ public class PrattParserTest { final ConfigurableTokenSplitter lo = new ConfigurableTokenSplitter(true); - lo.addSimpleDelimiters("->"); lo.addSimpleDelimiters(":="); + + lo.addSimpleDelimiters("|>"); + + lo.addSimpleDelimiters("->, =>"); lo.addSimpleDelimiters("||", "&&"); lo.addSimpleDelimiters("<=", ">="); @@ -259,6 +255,11 @@ public class PrattParserTest { parser.addNonInitialCommand("->", infixRight(11)); /* + * Pipeline operator. + */ + parser.addNonInitialCommand("|>", infixLeft(12)); + + /* * Non-short circuiting condtionals. */ final NonInitialCommand<String, String, TestContext> nonSSRelJoin = infixLeft(13); |
