diff options
| author | bjculkin <bjculkin@mix.wvu.edu> | 2017-04-05 15:35:13 -0400 |
|---|---|---|
| committer | bjculkin <bjculkin@mix.wvu.edu> | 2017-04-05 15:35:13 -0400 |
| commit | c82452e59b1547392c3e89d08d9173cc6dc79e23 (patch) | |
| tree | 1927051f7cab7a64eef3f53a78b77780db6cf281 /JPratt/src/main/java/bjc/utils/parserutils/pratt/blocks/ParseBlocks.java | |
| parent | b61c66d5e0c18faee68eb91881d5dfe760818856 (diff) | |
Reorganize
Diffstat (limited to 'JPratt/src/main/java/bjc/utils/parserutils/pratt/blocks/ParseBlocks.java')
| -rw-r--r-- | JPratt/src/main/java/bjc/utils/parserutils/pratt/blocks/ParseBlocks.java | 84 |
1 files changed, 0 insertions, 84 deletions
diff --git a/JPratt/src/main/java/bjc/utils/parserutils/pratt/blocks/ParseBlocks.java b/JPratt/src/main/java/bjc/utils/parserutils/pratt/blocks/ParseBlocks.java deleted file mode 100644 index 9df8355..0000000 --- a/JPratt/src/main/java/bjc/utils/parserutils/pratt/blocks/ParseBlocks.java +++ /dev/null @@ -1,84 +0,0 @@ -package bjc.utils.parserutils.pratt.blocks; - -import java.util.function.Predicate; -import java.util.function.UnaryOperator; - -import bjc.utils.data.ITree; -import bjc.utils.parserutils.pratt.ParseBlock; -import bjc.utils.parserutils.pratt.Token; - -/** - * Utility class for creating common implementations of {@link ParseBlock} - * - * @author bjculkin - * - */ -public class ParseBlocks { - /** - * Create a new repeating parse block. - * - * @param inner - * The parse block to repeat. - * - * @param delim - * The token type that seperates repetitions. - * - * @param term - * The token type that terminates repititions. - * - * @param mark - * The token to use as the node in the AST. - * - * @param action - * The action to perform on the state after every - * repitition. - * - * @return A configured repeating parse block. - */ - public static <K, V, C> ParseBlock<K, V, C> repeating(ParseBlock<K, V, C> inner, K delim, K term, - Token<K, V> mark, UnaryOperator<C> action) { - return new RepeatingParseBlock<>(inner, delim, term, mark, action); - } - - /** - * Create a new triggered parse block. - * - * @param source - * The block to trigger around. - * - * @param onEnter - * The action to perform upon the state before entering - * the block. - * - * @param onExit - * The action to perform upon the state after exiting the - * block. - * - * @return A configured trigger parse block. - */ - public static <K, V, C> ParseBlock<K, V, C> trigger(ParseBlock<K, V, C> source, UnaryOperator<C> onEnter, - UnaryOperator<C> onExit) { - return new TriggeredParseBlock<>(onEnter, onExit, source); - } - - /** - * Create a new simple parse block. - * - * @param precedence - * The precedence of the expression inside the block. - * - * @param terminator - * The key type of the token expected after this block, - * or null if none is expected. - * - * @param validator - * The predicate to use to validate parsed expressions, - * or null if none is used. - * - * @return A configured simple parse block. - */ - public static <K, V, C> ParseBlock<K, V, C> simple(int precedence, K terminator, - Predicate<ITree<Token<K, V>>> validator) { - return new SimpleParseBlock<>(precedence, terminator, validator); - } -}
\ No newline at end of file |
