summaryrefslogtreecommitdiff
path: root/JPratt/src/main/java/bjc/pratt/commands/impls/TransformingInitialCommand.java
diff options
context:
space:
mode:
Diffstat (limited to 'JPratt/src/main/java/bjc/pratt/commands/impls/TransformingInitialCommand.java')
-rw-r--r--JPratt/src/main/java/bjc/pratt/commands/impls/TransformingInitialCommand.java58
1 files changed, 0 insertions, 58 deletions
diff --git a/JPratt/src/main/java/bjc/pratt/commands/impls/TransformingInitialCommand.java b/JPratt/src/main/java/bjc/pratt/commands/impls/TransformingInitialCommand.java
deleted file mode 100644
index 36f881d..0000000
--- a/JPratt/src/main/java/bjc/pratt/commands/impls/TransformingInitialCommand.java
+++ /dev/null
@@ -1,58 +0,0 @@
-package bjc.pratt.commands.impls;
-
-import java.util.function.UnaryOperator;
-
-import bjc.pratt.ParserContext;
-import bjc.pratt.commands.AbstractInitialCommand;
-import bjc.pratt.commands.CommandResult;
-import bjc.pratt.commands.CommandResult.Status;
-import bjc.pratt.commands.InitialCommand;
-import bjc.pratt.tokens.Token;
-import bjc.data.Tree;
-import bjc.utils.parserutils.ParserException;
-
-/**
- * An initial command that transforms the result of another command.
- *
- * @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 TransformingInitialCommand<K, V, C> extends AbstractInitialCommand<K, V, C> {
- private final InitialCommand<K, V, C> internl;
-
- private final UnaryOperator<Tree<Token<K, V>>> transfrm;
-
- /**
- * Create a new transforming initial command.
- *
- * @param internal
- * The initial command to delegate to.
- *
- * @param transform
- * The transform to apply to the returned tree.
- */
- public TransformingInitialCommand(final InitialCommand<K, V, C> internal,
- final UnaryOperator<Tree<Token<K, V>>> transform) {
- super();
- internl = internal;
- transfrm = transform;
- }
-
- @Override
- protected CommandResult<K, V> intNullDenotation(final Token<K, V> operator, final ParserContext<K, V, C> ctx)
- throws ParserException {
- CommandResult<K,V> result = internl.denote(operator, ctx);
- if (result.status != Status.SUCCESS) return result;
-
- return CommandResult.success(transfrm.apply(result.success()));
- }
-
-}