summaryrefslogtreecommitdiff
path: root/JPratt/src/main/java/bjc/pratt/blocks/TriggeredParseBlock.java
diff options
context:
space:
mode:
authorBenjamin Culkin <scorpress@gmail.com>2024-06-03 17:33:53 -0400
committerBenjamin Culkin <scorpress@gmail.com>2024-06-03 17:33:53 -0400
commit15a2b29e48f134bc93cfd0a3d8512001e9242f3d (patch)
treeb3f5c4c5f0e474479cd47ad0ac0f35770fc44881 /JPratt/src/main/java/bjc/pratt/blocks/TriggeredParseBlock.java
parent39ba97edf49270715ec61bedb7d4a62ada819ba0 (diff)
Rename package to new domainHEADtrunk
Rename the package to the new domain
Diffstat (limited to 'JPratt/src/main/java/bjc/pratt/blocks/TriggeredParseBlock.java')
-rw-r--r--JPratt/src/main/java/bjc/pratt/blocks/TriggeredParseBlock.java62
1 files changed, 0 insertions, 62 deletions
diff --git a/JPratt/src/main/java/bjc/pratt/blocks/TriggeredParseBlock.java b/JPratt/src/main/java/bjc/pratt/blocks/TriggeredParseBlock.java
deleted file mode 100644
index d404eea..0000000
--- a/JPratt/src/main/java/bjc/pratt/blocks/TriggeredParseBlock.java
+++ /dev/null
@@ -1,62 +0,0 @@
-package bjc.pratt.blocks;
-
-import java.util.function.UnaryOperator;
-
-import bjc.pratt.ParserContext;
-import bjc.pratt.commands.CommandResult;
-import bjc.pratt.commands.CommandResult.Status;
-import bjc.utils.parserutils.ParserException;
-
-/**
- * A parse block that can adjust the state before handling its context.
- *
- * @author bjculkin
- *
- * @param <K>
- * The key type of the tokens.
- * @param <V>
- * The value type of the tokens.
- * @param <C>
- * The state type of the parser.
- */
-public class TriggeredParseBlock<K, V, C> implements ParseBlock<K, V, C> {
- private final UnaryOperator<C> onEntr;
- private final UnaryOperator<C> onExt;
-
- private final ParseBlock<K, V, C> sourc;
-
- /**
- * Create a new triggered parse block.
- *
- * @param onEnter
- * The action to fire before parsing the block.
- *
- * @param onExit
- * The action to fire after parsing the block.
- *
- * @param source
- * The block to use for parsing.
- */
- public TriggeredParseBlock(final UnaryOperator<C> onEnter, final UnaryOperator<C> onExit,
- final ParseBlock<K, V, C> source) {
- onEntr = onEnter;
- onExt = onExit;
- sourc = source;
- }
-
- @Override
- public CommandResult<K, V> parse(final ParserContext<K, V, C> ctx) throws ParserException {
- final C newState = onEntr.apply(ctx.state);
-
- final ParserContext<K, V, C> newCtx = new ParserContext<>(ctx.tokens, ctx.parse, newState);
-
- final CommandResult<K,V> res = sourc.parse(newCtx);
-
- if (res.status != Status.SUCCESS) return res;
-
- ctx.state = onExt.apply(newState);
-
- return res;
- }
-
-}