diff options
| author | bculkin2442 <bjculkin@mix.wvu.edu> | 2017-04-10 22:55:22 -0400 |
|---|---|---|
| committer | bculkin2442 <bjculkin@mix.wvu.edu> | 2017-04-10 22:55:22 -0400 |
| commit | 7a510ceb37780a7d0da37117a5cfce23c2919257 (patch) | |
| tree | e5f7a796cc6555cdcc5f09d969408f80c79b10e8 /JPratt/src/main/java/bjc/pratt/blocks/ParseBlocks.java | |
| parent | 56f07e9a3aaa873fe385d224f088f048dbafa8f7 (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.java | 16 |
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 |
