summaryrefslogtreecommitdiff
path: root/JPratt/src/main/java/bjc/pratt/blocks/ParseBlocks.java
diff options
context:
space:
mode:
authorbculkin2442 <bjculkin@mix.wvu.edu>2017-04-10 22:55:22 -0400
committerbculkin2442 <bjculkin@mix.wvu.edu>2017-04-10 22:55:22 -0400
commit7a510ceb37780a7d0da37117a5cfce23c2919257 (patch)
treee5f7a796cc6555cdcc5f09d969408f80c79b10e8 /JPratt/src/main/java/bjc/pratt/blocks/ParseBlocks.java
parent56f07e9a3aaa873fe385d224f088f048dbafa8f7 (diff)
More work on parse blocks
Diffstat (limited to 'JPratt/src/main/java/bjc/pratt/blocks/ParseBlocks.java')
-rw-r--r--JPratt/src/main/java/bjc/pratt/blocks/ParseBlocks.java16
1 files changed, 12 insertions, 4 deletions
diff --git a/JPratt/src/main/java/bjc/pratt/blocks/ParseBlocks.java b/JPratt/src/main/java/bjc/pratt/blocks/ParseBlocks.java
index d236a71..a3e3147 100644
--- a/JPratt/src/main/java/bjc/pratt/blocks/ParseBlocks.java
+++ b/JPratt/src/main/java/bjc/pratt/blocks/ParseBlocks.java
@@ -1,11 +1,15 @@
package bjc.pratt.blocks;
+import java.util.function.Function;
import java.util.function.Predicate;
import java.util.function.UnaryOperator;
import bjc.pratt.ParseBlock;
+import bjc.pratt.PrattParser;
import bjc.pratt.Token;
+import bjc.pratt.TokenStream;
import bjc.utils.data.ITree;
+import bjc.utils.funcutils.Isomorphism;
/**
* Utility class for creating common implementations of {@link ParseBlock}
@@ -14,6 +18,10 @@ import bjc.utils.data.ITree;
*
*/
public class ParseBlocks {
+ /*
+ * Grammar parse blocks are complex enough to not get a builder method.
+ */
+
/**
* Create a new repeating parse block.
*
@@ -21,17 +29,17 @@ public class ParseBlocks {
* The parse block to repeat.
*
* @param delim
- * The token type that seperates repetitions.
+ * The token type that separates repetitions.
*
* @param term
- * The token type that terminates repititions.
+ * The token type that terminates repetitions.
*
* @param mark
* The token to use as the node in the AST.
*
* @param action
* The action to perform on the state after every
- * repitition.
+ * repetition.
*
* @return A configured repeating parse block.
*/
@@ -79,6 +87,6 @@ public class ParseBlocks {
*/
public static <K, V, C> ParseBlock<K, V, C> simple(final int precedence, final K terminator,
final Predicate<ITree<Token<K, V>>> validator) {
- return new SimpleParseBlock<>(precedence, terminator, validator);
+ return new SimpleParseBlock<>(precedence, validator, terminator);
}
} \ No newline at end of file