summaryrefslogtreecommitdiff
path: root/JPratt/src/main/java/bjc/pratt/commands/NonInitialCommands.java
diff options
context:
space:
mode:
authorbjculkin <bjculkin@WIT-136XG42.wvu-ad.wvu.edu>2017-04-12 10:46:51 -0400
committerbjculkin <bjculkin@WIT-136XG42.wvu-ad.wvu.edu>2017-04-12 10:46:51 -0400
commitf394306a4b65a3328551f9f6b8d4abff8bfd5b27 (patch)
tree08b0de69bf15ae49077851eecfa3ca2efbc9e736 /JPratt/src/main/java/bjc/pratt/commands/NonInitialCommands.java
parent694bed833470393ee00eae0a85bff0c6c90e692a (diff)
Package reorganization
Diffstat (limited to 'JPratt/src/main/java/bjc/pratt/commands/NonInitialCommands.java')
-rw-r--r--JPratt/src/main/java/bjc/pratt/commands/NonInitialCommands.java141
1 files changed, 0 insertions, 141 deletions
diff --git a/JPratt/src/main/java/bjc/pratt/commands/NonInitialCommands.java b/JPratt/src/main/java/bjc/pratt/commands/NonInitialCommands.java
deleted file mode 100644
index 39baf1f..0000000
--- a/JPratt/src/main/java/bjc/pratt/commands/NonInitialCommands.java
+++ /dev/null
@@ -1,141 +0,0 @@
-package bjc.pratt.commands;
-
-import java.util.Set;
-
-import bjc.pratt.NonInitialCommand;
-import bjc.pratt.ParseBlock;
-import bjc.pratt.Token;
-import bjc.pratt.blocks.SimpleParseBlock;
-
-/**
- * Contains factory methods for producing common implementations of
- * {@link NonInitialCommand}
- *
- * @author EVE
- *
- */
-public class NonInitialCommands {
- /**
- * Create a left-associative infix operator.
- *
- * @param precedence
- * The precedence of the operator.
- *
- * @return A command implementing that operator.
- */
- public static <K, V, C> NonInitialCommand<K, V, C> infixLeft(final int precedence) {
- return new LeftBinaryCommand<>(precedence);
- }
-
- /**
- * Create a right-associative infix operator.
- *
- * @param precedence
- * The precedence of the operator.
- *
- * @return A command implementing that operator.
- */
- public static <K, V, C> NonInitialCommand<K, V, C> infixRight(final int precedence) {
- return new RightBinaryCommand<>(precedence);
- }
-
- /**
- * Create a non-associative infix operator.
- *
- * @param precedence
- * The precedence of the operator.
- *
- * @return A command implementing that operator.
- */
- public static <K, V, C> NonInitialCommand<K, V, C> infixNon(final int precedence) {
- return new NonBinaryCommand<>(precedence);
- }
-
- /**
- * Create a chained operator.
- *
- * @param precedence
- * The precedence of the operator.
- *
- * @param chainSet
- * The operators it forms a chain with.
- *
- * @param marker
- * The token to use as the AST node for the chained
- * operators.
- *
- * @return A command implementing that operator.
- */
- public static <K, V, C> NonInitialCommand<K, V, C> chain(final int precedence, final Set<K> chainSet,
- final Token<K, V> marker) {
- return new ChainCommand<>(precedence, chainSet, marker);
- }
-
- /**
- * Create a postfix operator.
- *
- * @param precedence
- * The precedence of the operator.
- *
- * @return A command implementing that operator.
- */
- public static <K, V, C> NonInitialCommand<K, V, C> postfix(final int precedence) {
- return new PostfixCommand<>(precedence);
- }
-
- /**
- * Create a post-circumfix operator.
- *
- * This is an operator in form similar to array indexing.
- *
- * @param precedence
- * The precedence of this operator
- *
- * @param insidePrecedence
- * The precedence of the expression inside the operator
- *
- * @param closer
- * The token that closes the circumfix.
- *
- * @param marker
- * The token to use as the AST node for the operator.
- *
- * @return A command implementing that operator.
- */
- public static <K, V, C> NonInitialCommand<K, V, C> postCircumfix(final int precedence,
- final int insidePrecedence, final K closer, final Token<K, V> marker) {
- final ParseBlock<K, V, C> innerBlock = new SimpleParseBlock<>(insidePrecedence, null, closer);
-
- return new PostCircumfixCommand<>(precedence, innerBlock, marker);
- }
-
- /**
- * Create a ternary operator.
- *
- * This is like C's ?: operator.
- *
- * @param precedence
- * The precedence of the operator.
- *
- * @param insidePrecedence
- * The precedence of the inner section of the operator.
- *
- * @param closer
- * The token that marks the end of the inner section.
- *
- * @param marker
- * The token to use as the AST node for the operator.
- *
- * @param nonassoc
- * True if the command is non-associative, false
- * otherwise.
- *
- * @return A command implementing this operator.
- */
- public static <K, V, C> NonInitialCommand<K, V, C> ternary(final int precedence, final int insidePrecedence,
- final K closer, final Token<K, V> marker, final boolean nonassoc) {
- final ParseBlock<K, V, C> innerBlock = new SimpleParseBlock<>(insidePrecedence, null, closer);
-
- return new TernaryCommand<>(precedence, innerBlock, marker, nonassoc);
- }
-}