summaryrefslogtreecommitdiff
path: root/JPratt/src/main/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
parent694bed833470393ee00eae0a85bff0c6c90e692a (diff)
Package reorganization
Diffstat (limited to 'JPratt/src/main/java')
-rw-r--r--JPratt/src/main/java/bjc/pratt/ParserContext.java2
-rw-r--r--JPratt/src/main/java/bjc/pratt/PrattParser.java10
-rw-r--r--JPratt/src/main/java/bjc/pratt/blocks/ChainParseBlock.java3
-rw-r--r--JPratt/src/main/java/bjc/pratt/blocks/GrammarParseBlock.java5
-rw-r--r--JPratt/src/main/java/bjc/pratt/blocks/ParseBlock.java (renamed from JPratt/src/main/java/bjc/pratt/ParseBlock.java)4
-rw-r--r--JPratt/src/main/java/bjc/pratt/blocks/ParseBlocks.java3
-rw-r--r--JPratt/src/main/java/bjc/pratt/blocks/RepeatingParseBlock.java3
-rw-r--r--JPratt/src/main/java/bjc/pratt/blocks/SimpleParseBlock.java3
-rw-r--r--JPratt/src/main/java/bjc/pratt/blocks/TriggeredParseBlock.java3
-rw-r--r--JPratt/src/main/java/bjc/pratt/commands/AbstractInitialCommand.java3
-rw-r--r--JPratt/src/main/java/bjc/pratt/commands/BinaryCommand.java2
-rw-r--r--JPratt/src/main/java/bjc/pratt/commands/BinaryPostCommand.java2
-rw-r--r--JPratt/src/main/java/bjc/pratt/commands/InitialCommand.java (renamed from JPratt/src/main/java/bjc/pratt/InitialCommand.java)4
-rw-r--r--JPratt/src/main/java/bjc/pratt/commands/MetaInitialCommand.java (renamed from JPratt/src/main/java/bjc/pratt/MetaInitialCommand.java)4
-rw-r--r--JPratt/src/main/java/bjc/pratt/commands/MetaNonInitialCommand.java (renamed from JPratt/src/main/java/bjc/pratt/MetaNonInitialCommand.java)4
-rw-r--r--JPratt/src/main/java/bjc/pratt/commands/NonInitialCommand.java (renamed from JPratt/src/main/java/bjc/pratt/NonInitialCommand.java)4
-rw-r--r--JPratt/src/main/java/bjc/pratt/commands/impls/BlockInitialCommand.java (renamed from JPratt/src/main/java/bjc/pratt/commands/BlockInitialCommand.java)7
-rw-r--r--JPratt/src/main/java/bjc/pratt/commands/impls/ChainCommand.java (renamed from JPratt/src/main/java/bjc/pratt/commands/ChainCommand.java)5
-rw-r--r--JPratt/src/main/java/bjc/pratt/commands/impls/ConstantCommand.java (renamed from JPratt/src/main/java/bjc/pratt/commands/ConstantCommand.java)6
-rw-r--r--JPratt/src/main/java/bjc/pratt/commands/impls/DefaultInitialCommand.java (renamed from JPratt/src/main/java/bjc/pratt/commands/DefaultInitialCommand.java)6
-rw-r--r--JPratt/src/main/java/bjc/pratt/commands/impls/DefaultNonInitialCommand.java (renamed from JPratt/src/main/java/bjc/pratt/commands/DefaultNonInitialCommand.java)6
-rw-r--r--JPratt/src/main/java/bjc/pratt/commands/impls/DenestingCommand.java (renamed from JPratt/src/main/java/bjc/pratt/commands/DenestingCommand.java)7
-rw-r--r--JPratt/src/main/java/bjc/pratt/commands/impls/GroupingCommand.java (renamed from JPratt/src/main/java/bjc/pratt/commands/GroupingCommand.java)7
-rw-r--r--JPratt/src/main/java/bjc/pratt/commands/impls/InitialCommands.java (renamed from JPratt/src/main/java/bjc/pratt/commands/InitialCommands.java)8
-rw-r--r--JPratt/src/main/java/bjc/pratt/commands/impls/LeafCommand.java (renamed from JPratt/src/main/java/bjc/pratt/commands/LeafCommand.java)6
-rw-r--r--JPratt/src/main/java/bjc/pratt/commands/impls/LeftBinaryCommand.java (renamed from JPratt/src/main/java/bjc/pratt/commands/LeftBinaryCommand.java)4
-rw-r--r--JPratt/src/main/java/bjc/pratt/commands/impls/NonBinaryCommand.java (renamed from JPratt/src/main/java/bjc/pratt/commands/NonBinaryCommand.java)4
-rw-r--r--JPratt/src/main/java/bjc/pratt/commands/impls/NonInitialCommands.java (renamed from JPratt/src/main/java/bjc/pratt/commands/NonInitialCommands.java)8
-rw-r--r--JPratt/src/main/java/bjc/pratt/commands/impls/PostCircumfixCommand.java (renamed from JPratt/src/main/java/bjc/pratt/commands/PostCircumfixCommand.java)7
-rw-r--r--JPratt/src/main/java/bjc/pratt/commands/impls/PostfixCommand.java (renamed from JPratt/src/main/java/bjc/pratt/commands/PostfixCommand.java)5
-rw-r--r--JPratt/src/main/java/bjc/pratt/commands/impls/PreTernaryCommand.java (renamed from JPratt/src/main/java/bjc/pratt/commands/PreTernaryCommand.java)7
-rw-r--r--JPratt/src/main/java/bjc/pratt/commands/impls/RightBinaryCommand.java (renamed from JPratt/src/main/java/bjc/pratt/commands/RightBinaryCommand.java)4
-rw-r--r--JPratt/src/main/java/bjc/pratt/commands/impls/TernaryCommand.java (renamed from JPratt/src/main/java/bjc/pratt/commands/TernaryCommand.java)7
-rw-r--r--JPratt/src/main/java/bjc/pratt/commands/impls/TransformingInitialCommand.java (renamed from JPratt/src/main/java/bjc/pratt/commands/TransformingInitialCommand.java)7
-rw-r--r--JPratt/src/main/java/bjc/pratt/commands/impls/UnaryCommand.java (renamed from JPratt/src/main/java/bjc/pratt/commands/UnaryCommand.java)5
-rw-r--r--JPratt/src/main/java/bjc/pratt/tokens/StringToken.java2
-rw-r--r--JPratt/src/main/java/bjc/pratt/tokens/StringTokenStream.java3
-rw-r--r--JPratt/src/main/java/bjc/pratt/tokens/Token.java (renamed from JPratt/src/main/java/bjc/pratt/Token.java)2
-rw-r--r--JPratt/src/main/java/bjc/pratt/tokens/TokenStream.java (renamed from JPratt/src/main/java/bjc/pratt/TokenStream.java)2
39 files changed, 102 insertions, 82 deletions
diff --git a/JPratt/src/main/java/bjc/pratt/ParserContext.java b/JPratt/src/main/java/bjc/pratt/ParserContext.java
index 9007f79..1e0b054 100644
--- a/JPratt/src/main/java/bjc/pratt/ParserContext.java
+++ b/JPratt/src/main/java/bjc/pratt/ParserContext.java
@@ -1,5 +1,7 @@
package bjc.pratt;
+import bjc.pratt.tokens.TokenStream;
+
/**
* Represents the contextual state passed to a command.
*
diff --git a/JPratt/src/main/java/bjc/pratt/PrattParser.java b/JPratt/src/main/java/bjc/pratt/PrattParser.java
index e2654f7..7783736 100644
--- a/JPratt/src/main/java/bjc/pratt/PrattParser.java
+++ b/JPratt/src/main/java/bjc/pratt/PrattParser.java
@@ -3,8 +3,14 @@ package bjc.pratt;
import java.util.HashMap;
import java.util.Map;
-import bjc.pratt.commands.DefaultInitialCommand;
-import bjc.pratt.commands.DefaultNonInitialCommand;
+import bjc.pratt.commands.InitialCommand;
+import bjc.pratt.commands.MetaInitialCommand;
+import bjc.pratt.commands.MetaNonInitialCommand;
+import bjc.pratt.commands.NonInitialCommand;
+import bjc.pratt.commands.impls.DefaultInitialCommand;
+import bjc.pratt.commands.impls.DefaultNonInitialCommand;
+import bjc.pratt.tokens.Token;
+import bjc.pratt.tokens.TokenStream;
import bjc.utils.data.ITree;
import bjc.utils.funcutils.NumberUtils;
import bjc.utils.parserutils.ParserException;
diff --git a/JPratt/src/main/java/bjc/pratt/blocks/ChainParseBlock.java b/JPratt/src/main/java/bjc/pratt/blocks/ChainParseBlock.java
index 1758c17..5c728d9 100644
--- a/JPratt/src/main/java/bjc/pratt/blocks/ChainParseBlock.java
+++ b/JPratt/src/main/java/bjc/pratt/blocks/ChainParseBlock.java
@@ -2,9 +2,8 @@ package bjc.pratt.blocks;
import java.util.Set;
-import bjc.pratt.ParseBlock;
import bjc.pratt.ParserContext;
-import bjc.pratt.Token;
+import bjc.pratt.tokens.Token;
import bjc.utils.data.ITree;
import bjc.utils.data.Tree;
import bjc.utils.parserutils.ParserException;
diff --git a/JPratt/src/main/java/bjc/pratt/blocks/GrammarParseBlock.java b/JPratt/src/main/java/bjc/pratt/blocks/GrammarParseBlock.java
index b714940..6bf5582 100644
--- a/JPratt/src/main/java/bjc/pratt/blocks/GrammarParseBlock.java
+++ b/JPratt/src/main/java/bjc/pratt/blocks/GrammarParseBlock.java
@@ -2,11 +2,10 @@ package bjc.pratt.blocks;
import java.util.function.Function;
-import bjc.pratt.ParseBlock;
import bjc.pratt.ParserContext;
import bjc.pratt.PrattParser;
-import bjc.pratt.Token;
-import bjc.pratt.TokenStream;
+import bjc.pratt.tokens.Token;
+import bjc.pratt.tokens.TokenStream;
import bjc.utils.data.ITree;
import bjc.utils.funcutils.Isomorphism;
import bjc.utils.parserutils.ParserException;
diff --git a/JPratt/src/main/java/bjc/pratt/ParseBlock.java b/JPratt/src/main/java/bjc/pratt/blocks/ParseBlock.java
index 28caf43..2fddac0 100644
--- a/JPratt/src/main/java/bjc/pratt/ParseBlock.java
+++ b/JPratt/src/main/java/bjc/pratt/blocks/ParseBlock.java
@@ -1,5 +1,7 @@
-package bjc.pratt;
+package bjc.pratt.blocks;
+import bjc.pratt.ParserContext;
+import bjc.pratt.tokens.Token;
import bjc.utils.data.ITree;
import bjc.utils.parserutils.ParserException;
diff --git a/JPratt/src/main/java/bjc/pratt/blocks/ParseBlocks.java b/JPratt/src/main/java/bjc/pratt/blocks/ParseBlocks.java
index 44288d2..21fa7e1 100644
--- a/JPratt/src/main/java/bjc/pratt/blocks/ParseBlocks.java
+++ b/JPratt/src/main/java/bjc/pratt/blocks/ParseBlocks.java
@@ -3,8 +3,7 @@ package bjc.pratt.blocks;
import java.util.function.Predicate;
import java.util.function.UnaryOperator;
-import bjc.pratt.ParseBlock;
-import bjc.pratt.Token;
+import bjc.pratt.tokens.Token;
import bjc.utils.data.ITree;
/**
diff --git a/JPratt/src/main/java/bjc/pratt/blocks/RepeatingParseBlock.java b/JPratt/src/main/java/bjc/pratt/blocks/RepeatingParseBlock.java
index 7791ea9..4146648 100644
--- a/JPratt/src/main/java/bjc/pratt/blocks/RepeatingParseBlock.java
+++ b/JPratt/src/main/java/bjc/pratt/blocks/RepeatingParseBlock.java
@@ -2,9 +2,8 @@ package bjc.pratt.blocks;
import java.util.function.UnaryOperator;
-import bjc.pratt.ParseBlock;
import bjc.pratt.ParserContext;
-import bjc.pratt.Token;
+import bjc.pratt.tokens.Token;
import bjc.utils.data.ITree;
import bjc.utils.data.Tree;
import bjc.utils.parserutils.ParserException;
diff --git a/JPratt/src/main/java/bjc/pratt/blocks/SimpleParseBlock.java b/JPratt/src/main/java/bjc/pratt/blocks/SimpleParseBlock.java
index 0fb5097..1ff561c 100644
--- a/JPratt/src/main/java/bjc/pratt/blocks/SimpleParseBlock.java
+++ b/JPratt/src/main/java/bjc/pratt/blocks/SimpleParseBlock.java
@@ -2,9 +2,8 @@ package bjc.pratt.blocks;
import java.util.function.Predicate;
-import bjc.pratt.ParseBlock;
import bjc.pratt.ParserContext;
-import bjc.pratt.Token;
+import bjc.pratt.tokens.Token;
import bjc.utils.data.ITree;
import bjc.utils.parserutils.ParserException;
diff --git a/JPratt/src/main/java/bjc/pratt/blocks/TriggeredParseBlock.java b/JPratt/src/main/java/bjc/pratt/blocks/TriggeredParseBlock.java
index bb3d6f7..844a4f8 100644
--- a/JPratt/src/main/java/bjc/pratt/blocks/TriggeredParseBlock.java
+++ b/JPratt/src/main/java/bjc/pratt/blocks/TriggeredParseBlock.java
@@ -2,9 +2,8 @@ package bjc.pratt.blocks;
import java.util.function.UnaryOperator;
-import bjc.pratt.ParseBlock;
import bjc.pratt.ParserContext;
-import bjc.pratt.Token;
+import bjc.pratt.tokens.Token;
import bjc.utils.data.ITree;
import bjc.utils.parserutils.ParserException;
diff --git a/JPratt/src/main/java/bjc/pratt/commands/AbstractInitialCommand.java b/JPratt/src/main/java/bjc/pratt/commands/AbstractInitialCommand.java
index 9fc4fbc..c1f9f6b 100644
--- a/JPratt/src/main/java/bjc/pratt/commands/AbstractInitialCommand.java
+++ b/JPratt/src/main/java/bjc/pratt/commands/AbstractInitialCommand.java
@@ -1,8 +1,7 @@
package bjc.pratt.commands;
-import bjc.pratt.InitialCommand;
import bjc.pratt.ParserContext;
-import bjc.pratt.Token;
+import bjc.pratt.tokens.Token;
import bjc.utils.data.ITree;
import bjc.utils.parserutils.ParserException;
diff --git a/JPratt/src/main/java/bjc/pratt/commands/BinaryCommand.java b/JPratt/src/main/java/bjc/pratt/commands/BinaryCommand.java
index ef81d3f..06b26aa 100644
--- a/JPratt/src/main/java/bjc/pratt/commands/BinaryCommand.java
+++ b/JPratt/src/main/java/bjc/pratt/commands/BinaryCommand.java
@@ -1,7 +1,7 @@
package bjc.pratt.commands;
import bjc.pratt.ParserContext;
-import bjc.pratt.Token;
+import bjc.pratt.tokens.Token;
import bjc.utils.data.ITree;
import bjc.utils.data.Tree;
import bjc.utils.parserutils.ParserException;
diff --git a/JPratt/src/main/java/bjc/pratt/commands/BinaryPostCommand.java b/JPratt/src/main/java/bjc/pratt/commands/BinaryPostCommand.java
index 316f0fe..943554c 100644
--- a/JPratt/src/main/java/bjc/pratt/commands/BinaryPostCommand.java
+++ b/JPratt/src/main/java/bjc/pratt/commands/BinaryPostCommand.java
@@ -1,7 +1,5 @@
package bjc.pratt.commands;
-import bjc.pratt.NonInitialCommand;
-
/**
* A operator with fixed precedence.
*
diff --git a/JPratt/src/main/java/bjc/pratt/InitialCommand.java b/JPratt/src/main/java/bjc/pratt/commands/InitialCommand.java
index 403cf24..57dc2d1 100644
--- a/JPratt/src/main/java/bjc/pratt/InitialCommand.java
+++ b/JPratt/src/main/java/bjc/pratt/commands/InitialCommand.java
@@ -1,5 +1,7 @@
-package bjc.pratt;
+package bjc.pratt.commands;
+import bjc.pratt.ParserContext;
+import bjc.pratt.tokens.Token;
import bjc.utils.data.ITree;
import bjc.utils.parserutils.ParserException;
diff --git a/JPratt/src/main/java/bjc/pratt/MetaInitialCommand.java b/JPratt/src/main/java/bjc/pratt/commands/MetaInitialCommand.java
index 067d084..9f14f36 100644
--- a/JPratt/src/main/java/bjc/pratt/MetaInitialCommand.java
+++ b/JPratt/src/main/java/bjc/pratt/commands/MetaInitialCommand.java
@@ -1,4 +1,6 @@
-package bjc.pratt;
+package bjc.pratt.commands;
+
+import bjc.pratt.ParserContext;
/**
* A 'meta-command' that yields the actual command to use.
diff --git a/JPratt/src/main/java/bjc/pratt/MetaNonInitialCommand.java b/JPratt/src/main/java/bjc/pratt/commands/MetaNonInitialCommand.java
index 444c0e4..3a5cba4 100644
--- a/JPratt/src/main/java/bjc/pratt/MetaNonInitialCommand.java
+++ b/JPratt/src/main/java/bjc/pratt/commands/MetaNonInitialCommand.java
@@ -1,4 +1,6 @@
-package bjc.pratt;
+package bjc.pratt.commands;
+
+import bjc.pratt.ParserContext;
/**
* A 'meta-command' for non-initial commands.
diff --git a/JPratt/src/main/java/bjc/pratt/NonInitialCommand.java b/JPratt/src/main/java/bjc/pratt/commands/NonInitialCommand.java
index bb1aa5b..d06e336 100644
--- a/JPratt/src/main/java/bjc/pratt/NonInitialCommand.java
+++ b/JPratt/src/main/java/bjc/pratt/commands/NonInitialCommand.java
@@ -1,5 +1,7 @@
-package bjc.pratt;
+package bjc.pratt.commands;
+import bjc.pratt.ParserContext;
+import bjc.pratt.tokens.Token;
import bjc.utils.data.ITree;
import bjc.utils.parserutils.ParserException;
diff --git a/JPratt/src/main/java/bjc/pratt/commands/BlockInitialCommand.java b/JPratt/src/main/java/bjc/pratt/commands/impls/BlockInitialCommand.java
index ca2d31a..3e8c8c2 100644
--- a/JPratt/src/main/java/bjc/pratt/commands/BlockInitialCommand.java
+++ b/JPratt/src/main/java/bjc/pratt/commands/impls/BlockInitialCommand.java
@@ -1,8 +1,9 @@
-package bjc.pratt.commands;
+package bjc.pratt.commands.impls;
-import bjc.pratt.ParseBlock;
import bjc.pratt.ParserContext;
-import bjc.pratt.Token;
+import bjc.pratt.blocks.ParseBlock;
+import bjc.pratt.commands.AbstractInitialCommand;
+import bjc.pratt.tokens.Token;
import bjc.utils.data.ITree;
import bjc.utils.parserutils.ParserException;
diff --git a/JPratt/src/main/java/bjc/pratt/commands/ChainCommand.java b/JPratt/src/main/java/bjc/pratt/commands/impls/ChainCommand.java
index 4e471d0..2a9bf35 100644
--- a/JPratt/src/main/java/bjc/pratt/commands/ChainCommand.java
+++ b/JPratt/src/main/java/bjc/pratt/commands/impls/ChainCommand.java
@@ -1,9 +1,10 @@
-package bjc.pratt.commands;
+package bjc.pratt.commands.impls;
import java.util.Set;
import bjc.pratt.ParserContext;
-import bjc.pratt.Token;
+import bjc.pratt.commands.BinaryPostCommand;
+import bjc.pratt.tokens.Token;
import bjc.utils.data.ITree;
import bjc.utils.data.Tree;
import bjc.utils.parserutils.ParserException;
diff --git a/JPratt/src/main/java/bjc/pratt/commands/ConstantCommand.java b/JPratt/src/main/java/bjc/pratt/commands/impls/ConstantCommand.java
index 9b12cda..16af5aa 100644
--- a/JPratt/src/main/java/bjc/pratt/commands/ConstantCommand.java
+++ b/JPratt/src/main/java/bjc/pratt/commands/impls/ConstantCommand.java
@@ -1,8 +1,8 @@
-package bjc.pratt.commands;
+package bjc.pratt.commands.impls;
-import bjc.pratt.InitialCommand;
import bjc.pratt.ParserContext;
-import bjc.pratt.Token;
+import bjc.pratt.commands.InitialCommand;
+import bjc.pratt.tokens.Token;
import bjc.utils.data.ITree;
import bjc.utils.parserutils.ParserException;
diff --git a/JPratt/src/main/java/bjc/pratt/commands/DefaultInitialCommand.java b/JPratt/src/main/java/bjc/pratt/commands/impls/DefaultInitialCommand.java
index ff40ef2..16d2e59 100644
--- a/JPratt/src/main/java/bjc/pratt/commands/DefaultInitialCommand.java
+++ b/JPratt/src/main/java/bjc/pratt/commands/impls/DefaultInitialCommand.java
@@ -1,8 +1,8 @@
-package bjc.pratt.commands;
+package bjc.pratt.commands.impls;
-import bjc.pratt.InitialCommand;
import bjc.pratt.ParserContext;
-import bjc.pratt.Token;
+import bjc.pratt.commands.InitialCommand;
+import bjc.pratt.tokens.Token;
import bjc.utils.data.ITree;
import bjc.utils.parserutils.ParserException;
diff --git a/JPratt/src/main/java/bjc/pratt/commands/DefaultNonInitialCommand.java b/JPratt/src/main/java/bjc/pratt/commands/impls/DefaultNonInitialCommand.java
index 6f590c9..48aab29 100644
--- a/JPratt/src/main/java/bjc/pratt/commands/DefaultNonInitialCommand.java
+++ b/JPratt/src/main/java/bjc/pratt/commands/impls/DefaultNonInitialCommand.java
@@ -1,8 +1,8 @@
-package bjc.pratt.commands;
+package bjc.pratt.commands.impls;
-import bjc.pratt.NonInitialCommand;
import bjc.pratt.ParserContext;
-import bjc.pratt.Token;
+import bjc.pratt.commands.NonInitialCommand;
+import bjc.pratt.tokens.Token;
import bjc.utils.data.ITree;
/**
diff --git a/JPratt/src/main/java/bjc/pratt/commands/DenestingCommand.java b/JPratt/src/main/java/bjc/pratt/commands/impls/DenestingCommand.java
index e3b1d3c..220e4cc 100644
--- a/JPratt/src/main/java/bjc/pratt/commands/DenestingCommand.java
+++ b/JPratt/src/main/java/bjc/pratt/commands/impls/DenestingCommand.java
@@ -1,8 +1,9 @@
-package bjc.pratt.commands;
+package bjc.pratt.commands.impls;
-import bjc.pratt.InitialCommand;
import bjc.pratt.ParserContext;
-import bjc.pratt.Token;
+import bjc.pratt.commands.AbstractInitialCommand;
+import bjc.pratt.commands.InitialCommand;
+import bjc.pratt.tokens.Token;
import bjc.utils.data.ITree;
import bjc.utils.parserutils.ParserException;
diff --git a/JPratt/src/main/java/bjc/pratt/commands/GroupingCommand.java b/JPratt/src/main/java/bjc/pratt/commands/impls/GroupingCommand.java
index f4288d0..28f1299 100644
--- a/JPratt/src/main/java/bjc/pratt/commands/GroupingCommand.java
+++ b/JPratt/src/main/java/bjc/pratt/commands/impls/GroupingCommand.java
@@ -1,8 +1,9 @@
-package bjc.pratt.commands;
+package bjc.pratt.commands.impls;
-import bjc.pratt.ParseBlock;
import bjc.pratt.ParserContext;
-import bjc.pratt.Token;
+import bjc.pratt.blocks.ParseBlock;
+import bjc.pratt.commands.AbstractInitialCommand;
+import bjc.pratt.tokens.Token;
import bjc.utils.data.ITree;
import bjc.utils.data.Tree;
import bjc.utils.parserutils.ParserException;
diff --git a/JPratt/src/main/java/bjc/pratt/commands/InitialCommands.java b/JPratt/src/main/java/bjc/pratt/commands/impls/InitialCommands.java
index b373a7c..8da758a 100644
--- a/JPratt/src/main/java/bjc/pratt/commands/InitialCommands.java
+++ b/JPratt/src/main/java/bjc/pratt/commands/impls/InitialCommands.java
@@ -1,4 +1,4 @@
-package bjc.pratt.commands;
+package bjc.pratt.commands.impls;
import static bjc.pratt.blocks.ParseBlocks.repeating;
import static bjc.pratt.blocks.ParseBlocks.simple;
@@ -6,9 +6,9 @@ import static bjc.pratt.blocks.ParseBlocks.trigger;
import java.util.function.UnaryOperator;
-import bjc.pratt.InitialCommand;
-import bjc.pratt.ParseBlock;
-import bjc.pratt.Token;
+import bjc.pratt.blocks.ParseBlock;
+import bjc.pratt.commands.InitialCommand;
+import bjc.pratt.tokens.Token;
import bjc.utils.data.ITree;
/**
diff --git a/JPratt/src/main/java/bjc/pratt/commands/LeafCommand.java b/JPratt/src/main/java/bjc/pratt/commands/impls/LeafCommand.java
index 9b4480d..bb999f6 100644
--- a/JPratt/src/main/java/bjc/pratt/commands/LeafCommand.java
+++ b/JPratt/src/main/java/bjc/pratt/commands/impls/LeafCommand.java
@@ -1,8 +1,8 @@
-package bjc.pratt.commands;
+package bjc.pratt.commands.impls;
-import bjc.pratt.InitialCommand;
import bjc.pratt.ParserContext;
-import bjc.pratt.Token;
+import bjc.pratt.commands.InitialCommand;
+import bjc.pratt.tokens.Token;
import bjc.utils.data.ITree;
import bjc.utils.data.Tree;
import bjc.utils.parserutils.ParserException;
diff --git a/JPratt/src/main/java/bjc/pratt/commands/LeftBinaryCommand.java b/JPratt/src/main/java/bjc/pratt/commands/impls/LeftBinaryCommand.java
index adf98a1..9727dcb 100644
--- a/JPratt/src/main/java/bjc/pratt/commands/LeftBinaryCommand.java
+++ b/JPratt/src/main/java/bjc/pratt/commands/impls/LeftBinaryCommand.java
@@ -1,4 +1,6 @@
-package bjc.pratt.commands;
+package bjc.pratt.commands.impls;
+
+import bjc.pratt.commands.BinaryCommand;
/**
* A left-associative operator.
diff --git a/JPratt/src/main/java/bjc/pratt/commands/NonBinaryCommand.java b/JPratt/src/main/java/bjc/pratt/commands/impls/NonBinaryCommand.java
index 54ab98b..2d92780 100644
--- a/JPratt/src/main/java/bjc/pratt/commands/NonBinaryCommand.java
+++ b/JPratt/src/main/java/bjc/pratt/commands/impls/NonBinaryCommand.java
@@ -1,4 +1,6 @@
-package bjc.pratt.commands;
+package bjc.pratt.commands.impls;
+
+import bjc.pratt.commands.BinaryCommand;
/**
* A non-associative operator.
diff --git a/JPratt/src/main/java/bjc/pratt/commands/NonInitialCommands.java b/JPratt/src/main/java/bjc/pratt/commands/impls/NonInitialCommands.java
index 39baf1f..a2c158c 100644
--- a/JPratt/src/main/java/bjc/pratt/commands/NonInitialCommands.java
+++ b/JPratt/src/main/java/bjc/pratt/commands/impls/NonInitialCommands.java
@@ -1,11 +1,11 @@
-package bjc.pratt.commands;
+package bjc.pratt.commands.impls;
import java.util.Set;
-import bjc.pratt.NonInitialCommand;
-import bjc.pratt.ParseBlock;
-import bjc.pratt.Token;
+import bjc.pratt.blocks.ParseBlock;
import bjc.pratt.blocks.SimpleParseBlock;
+import bjc.pratt.commands.NonInitialCommand;
+import bjc.pratt.tokens.Token;
/**
* Contains factory methods for producing common implementations of
diff --git a/JPratt/src/main/java/bjc/pratt/commands/PostCircumfixCommand.java b/JPratt/src/main/java/bjc/pratt/commands/impls/PostCircumfixCommand.java
index e7d2eea..c1d70b8 100644
--- a/JPratt/src/main/java/bjc/pratt/commands/PostCircumfixCommand.java
+++ b/JPratt/src/main/java/bjc/pratt/commands/impls/PostCircumfixCommand.java
@@ -1,8 +1,9 @@
-package bjc.pratt.commands;
+package bjc.pratt.commands.impls;
-import bjc.pratt.ParseBlock;
import bjc.pratt.ParserContext;
-import bjc.pratt.Token;
+import bjc.pratt.blocks.ParseBlock;
+import bjc.pratt.commands.BinaryPostCommand;
+import bjc.pratt.tokens.Token;
import bjc.utils.data.ITree;
import bjc.utils.data.Tree;
import bjc.utils.parserutils.ParserException;
diff --git a/JPratt/src/main/java/bjc/pratt/commands/PostfixCommand.java b/JPratt/src/main/java/bjc/pratt/commands/impls/PostfixCommand.java
index 3276d09..00c7ad2 100644
--- a/JPratt/src/main/java/bjc/pratt/commands/PostfixCommand.java
+++ b/JPratt/src/main/java/bjc/pratt/commands/impls/PostfixCommand.java
@@ -1,7 +1,8 @@
-package bjc.pratt.commands;
+package bjc.pratt.commands.impls;
import bjc.pratt.ParserContext;
-import bjc.pratt.Token;
+import bjc.pratt.commands.BinaryPostCommand;
+import bjc.pratt.tokens.Token;
import bjc.utils.data.ITree;
import bjc.utils.data.Tree;
import bjc.utils.parserutils.ParserException;
diff --git a/JPratt/src/main/java/bjc/pratt/commands/PreTernaryCommand.java b/JPratt/src/main/java/bjc/pratt/commands/impls/PreTernaryCommand.java
index d8304e2..fa63c9c 100644
--- a/JPratt/src/main/java/bjc/pratt/commands/PreTernaryCommand.java
+++ b/JPratt/src/main/java/bjc/pratt/commands/impls/PreTernaryCommand.java
@@ -1,8 +1,9 @@
-package bjc.pratt.commands;
+package bjc.pratt.commands.impls;
-import bjc.pratt.ParseBlock;
import bjc.pratt.ParserContext;
-import bjc.pratt.Token;
+import bjc.pratt.blocks.ParseBlock;
+import bjc.pratt.commands.AbstractInitialCommand;
+import bjc.pratt.tokens.Token;
import bjc.utils.data.ITree;
import bjc.utils.data.Tree;
import bjc.utils.parserutils.ParserException;
diff --git a/JPratt/src/main/java/bjc/pratt/commands/RightBinaryCommand.java b/JPratt/src/main/java/bjc/pratt/commands/impls/RightBinaryCommand.java
index 35c828f..c3887ee 100644
--- a/JPratt/src/main/java/bjc/pratt/commands/RightBinaryCommand.java
+++ b/JPratt/src/main/java/bjc/pratt/commands/impls/RightBinaryCommand.java
@@ -1,4 +1,6 @@
-package bjc.pratt.commands;
+package bjc.pratt.commands.impls;
+
+import bjc.pratt.commands.BinaryCommand;
/**
* A right-associative binary operator.
diff --git a/JPratt/src/main/java/bjc/pratt/commands/TernaryCommand.java b/JPratt/src/main/java/bjc/pratt/commands/impls/TernaryCommand.java
index 2e12050..92355c0 100644
--- a/JPratt/src/main/java/bjc/pratt/commands/TernaryCommand.java
+++ b/JPratt/src/main/java/bjc/pratt/commands/impls/TernaryCommand.java
@@ -1,8 +1,9 @@
-package bjc.pratt.commands;
+package bjc.pratt.commands.impls;
-import bjc.pratt.ParseBlock;
import bjc.pratt.ParserContext;
-import bjc.pratt.Token;
+import bjc.pratt.blocks.ParseBlock;
+import bjc.pratt.commands.BinaryPostCommand;
+import bjc.pratt.tokens.Token;
import bjc.utils.data.ITree;
import bjc.utils.data.Tree;
import bjc.utils.parserutils.ParserException;
diff --git a/JPratt/src/main/java/bjc/pratt/commands/TransformingInitialCommand.java b/JPratt/src/main/java/bjc/pratt/commands/impls/TransformingInitialCommand.java
index a706ea8..e6c509c 100644
--- a/JPratt/src/main/java/bjc/pratt/commands/TransformingInitialCommand.java
+++ b/JPratt/src/main/java/bjc/pratt/commands/impls/TransformingInitialCommand.java
@@ -1,10 +1,11 @@
-package bjc.pratt.commands;
+package bjc.pratt.commands.impls;
import java.util.function.UnaryOperator;
-import bjc.pratt.InitialCommand;
import bjc.pratt.ParserContext;
-import bjc.pratt.Token;
+import bjc.pratt.commands.AbstractInitialCommand;
+import bjc.pratt.commands.InitialCommand;
+import bjc.pratt.tokens.Token;
import bjc.utils.data.ITree;
import bjc.utils.parserutils.ParserException;
diff --git a/JPratt/src/main/java/bjc/pratt/commands/UnaryCommand.java b/JPratt/src/main/java/bjc/pratt/commands/impls/UnaryCommand.java
index d36dc24..156dee0 100644
--- a/JPratt/src/main/java/bjc/pratt/commands/UnaryCommand.java
+++ b/JPratt/src/main/java/bjc/pratt/commands/impls/UnaryCommand.java
@@ -1,7 +1,8 @@
-package bjc.pratt.commands;
+package bjc.pratt.commands.impls;
import bjc.pratt.ParserContext;
-import bjc.pratt.Token;
+import bjc.pratt.commands.AbstractInitialCommand;
+import bjc.pratt.tokens.Token;
import bjc.utils.data.ITree;
import bjc.utils.data.Tree;
import bjc.utils.parserutils.ParserException;
diff --git a/JPratt/src/main/java/bjc/pratt/tokens/StringToken.java b/JPratt/src/main/java/bjc/pratt/tokens/StringToken.java
index 6d3c1a5..ff47667 100644
--- a/JPratt/src/main/java/bjc/pratt/tokens/StringToken.java
+++ b/JPratt/src/main/java/bjc/pratt/tokens/StringToken.java
@@ -1,7 +1,5 @@
package bjc.pratt.tokens;
-import bjc.pratt.Token;
-
/**
* Simple token implementation for strings.
*
diff --git a/JPratt/src/main/java/bjc/pratt/tokens/StringTokenStream.java b/JPratt/src/main/java/bjc/pratt/tokens/StringTokenStream.java
index b33dae8..07e1827 100644
--- a/JPratt/src/main/java/bjc/pratt/tokens/StringTokenStream.java
+++ b/JPratt/src/main/java/bjc/pratt/tokens/StringTokenStream.java
@@ -4,9 +4,6 @@ import static bjc.pratt.tokens.StringToken.litToken;
import java.util.Iterator;
-import bjc.pratt.Token;
-import bjc.pratt.TokenStream;
-
/**
* Simple implementation of token stream for strings.
*
diff --git a/JPratt/src/main/java/bjc/pratt/Token.java b/JPratt/src/main/java/bjc/pratt/tokens/Token.java
index d49dee5..b07d2e1 100644
--- a/JPratt/src/main/java/bjc/pratt/Token.java
+++ b/JPratt/src/main/java/bjc/pratt/tokens/Token.java
@@ -1,4 +1,4 @@
-package bjc.pratt;
+package bjc.pratt.tokens;
/**
* Represents a simple parsing token.
diff --git a/JPratt/src/main/java/bjc/pratt/TokenStream.java b/JPratt/src/main/java/bjc/pratt/tokens/TokenStream.java
index 7390e5f..a5febcc 100644
--- a/JPratt/src/main/java/bjc/pratt/TokenStream.java
+++ b/JPratt/src/main/java/bjc/pratt/tokens/TokenStream.java
@@ -1,4 +1,4 @@
-package bjc.pratt;
+package bjc.pratt.tokens;
import java.util.Arrays;
import java.util.HashSet;