diff options
Diffstat (limited to 'BJC-Utils2/src/main/java/bjc/utils/parserutils')
4 files changed, 40 insertions, 24 deletions
diff --git a/BJC-Utils2/src/main/java/bjc/utils/parserutils/RuleBasedConfigReader.java b/BJC-Utils2/src/main/java/bjc/utils/parserutils/RuleBasedConfigReader.java index 1ad2ff5..1ee19f5 100644 --- a/BJC-Utils2/src/main/java/bjc/utils/parserutils/RuleBasedConfigReader.java +++ b/BJC-Utils2/src/main/java/bjc/utils/parserutils/RuleBasedConfigReader.java @@ -26,11 +26,15 @@ import bjc.utils.funcdata.IMap; * */ public class RuleBasedConfigReader<E> { - private BiConsumer<FunctionalStringTokenizer, IPair<String, E>> startRule; - private BiConsumer<FunctionalStringTokenizer, E> continueRule; - private Consumer<E> endRule; + private BiConsumer<FunctionalStringTokenizer, IPair<String, + E>> startRule; + private BiConsumer<FunctionalStringTokenizer, + E> continueRule; + private Consumer< + E> endRule; - private IMap<String, BiConsumer<FunctionalStringTokenizer, E>> pragmas; + private IMap<String, BiConsumer<FunctionalStringTokenizer, + E>> pragmas; /** * Create a new rule-based config reader @@ -43,7 +47,8 @@ public class RuleBasedConfigReader<E> { * The action to fire when ending a rule */ public RuleBasedConfigReader( - BiConsumer<FunctionalStringTokenizer, IPair<String, E>> startRule, + BiConsumer<FunctionalStringTokenizer, + IPair<String, E>> startRule, BiConsumer<FunctionalStringTokenizer, E> continueRule, Consumer<E> endRule) { this.startRule = startRule; @@ -176,8 +181,8 @@ public class RuleBasedConfigReader<E> { * @param startRule * The action to execute on starting of a rule */ - public void setStartRule( - BiConsumer<FunctionalStringTokenizer, IPair<String, E>> startRule) { + public void setStartRule(BiConsumer<FunctionalStringTokenizer, + IPair<String, E>> startRule) { if (startRule == null) { throw new NullPointerException( "Action on rule start must be non-null"); diff --git a/BJC-Utils2/src/main/java/bjc/utils/parserutils/RuleBasedReaderPragmas.java b/BJC-Utils2/src/main/java/bjc/utils/parserutils/RuleBasedReaderPragmas.java index 2c77c5d..392a6c8 100644 --- a/BJC-Utils2/src/main/java/bjc/utils/parserutils/RuleBasedReaderPragmas.java +++ b/BJC-Utils2/src/main/java/bjc/utils/parserutils/RuleBasedReaderPragmas.java @@ -25,8 +25,9 @@ public class RuleBasedReaderPragmas { * The function to invoke with the parsed integer * @return A pragma that functions as described above. */ - public static <StateType> BiConsumer<FunctionalStringTokenizer, StateType> buildInteger( - String name, BiConsumer<Integer, StateType> consumer) { + public static <StateType> BiConsumer<FunctionalStringTokenizer, + StateType> buildInteger(String name, + BiConsumer<Integer, StateType> consumer) { return (tokenizer, state) -> { if (!tokenizer.hasMoreTokens()) { throw new PragmaFormatException("Pragma " + name @@ -62,8 +63,9 @@ public class RuleBasedReaderPragmas { * The function to invoke with the parsed string * @return A pragma that functions as described above. */ - public static <StateType> BiConsumer<FunctionalStringTokenizer, StateType> buildStringCollapser( - String name, BiConsumer<String, StateType> consumer) { + public static <StateType> BiConsumer<FunctionalStringTokenizer, + StateType> buildStringCollapser(String name, + BiConsumer<String, StateType> consumer) { return (tokenizer, state) -> { if (!tokenizer.hasMoreTokens()) { throw new PragmaFormatException("Pragma " + name diff --git a/BJC-Utils2/src/main/java/bjc/utils/parserutils/TokenTransformer.java b/BJC-Utils2/src/main/java/bjc/utils/parserutils/TokenTransformer.java index 1c1a6fb..7cfb9cd 100644 --- a/BJC-Utils2/src/main/java/bjc/utils/parserutils/TokenTransformer.java +++ b/BJC-Utils2/src/main/java/bjc/utils/parserutils/TokenTransformer.java @@ -13,8 +13,8 @@ import bjc.utils.funcdata.ITree; import bjc.utils.funcdata.Tree; final class TokenTransformer<TokenType> implements Consumer<TokenType> { - private final class OperatorHandler implements - UnaryOperator<IPair<Deque<ITree<TokenType>>, ITree<TokenType>>> { + private final class OperatorHandler implements UnaryOperator< + IPair<Deque<ITree<TokenType>>, ITree<TokenType>>> { private TokenType element; public OperatorHandler(TokenType element) { @@ -29,8 +29,9 @@ final class TokenTransformer<TokenType> implements Consumer<TokenType> { }); } - private IPair<Deque<ITree<TokenType>>, ITree<TokenType>> handleOperator( - Deque<ITree<TokenType>> queuedASTs) { + private IPair<Deque<ITree<TokenType>>, + ITree<TokenType>> handleOperator( + Deque<ITree<TokenType>> queuedASTs) { ITree<TokenType> newAST; if (isSpecialOperator.test(element)) { @@ -57,18 +58,24 @@ final class TokenTransformer<TokenType> implements Consumer<TokenType> { } } - private IHolder<IPair<Deque<ITree<TokenType>>, ITree<TokenType>>> initialState; + private IHolder<IPair<Deque<ITree<TokenType>>, + ITree<TokenType>>> initialState; - private Predicate<TokenType> operatorPredicate; + private Predicate< + TokenType> operatorPredicate; - private Predicate<TokenType> isSpecialOperator; - private Function<TokenType, Function<Deque<ITree<TokenType>>, ITree<TokenType>>> handleSpecialOperator; + private Predicate< + TokenType> isSpecialOperator; + private Function<TokenType, Function<Deque<ITree<TokenType>>, + ITree<TokenType>>> handleSpecialOperator; public TokenTransformer( - IHolder<IPair<Deque<ITree<TokenType>>, ITree<TokenType>>> initialState, + IHolder<IPair<Deque<ITree<TokenType>>, + ITree<TokenType>>> initialState, Predicate<TokenType> operatorPredicate, Predicate<TokenType> isSpecialOperator, - Function<TokenType, Function<Deque<ITree<TokenType>>, ITree<TokenType>>> handleSpecialOperator) { + Function<TokenType, Function<Deque<ITree<TokenType>>, + ITree<TokenType>>> handleSpecialOperator) { this.initialState = initialState; this.operatorPredicate = operatorPredicate; this.isSpecialOperator = isSpecialOperator; diff --git a/BJC-Utils2/src/main/java/bjc/utils/parserutils/TreeConstructor.java b/BJC-Utils2/src/main/java/bjc/utils/parserutils/TreeConstructor.java index 67a74d9..5184fa6 100644 --- a/BJC-Utils2/src/main/java/bjc/utils/parserutils/TreeConstructor.java +++ b/BJC-Utils2/src/main/java/bjc/utils/parserutils/TreeConstructor.java @@ -68,7 +68,8 @@ public class TreeConstructor { IList<TokenType> tokens, Predicate<TokenType> operatorPredicate, Predicate<TokenType> isSpecialOperator, - Function<TokenType, Function<Deque<ITree<TokenType>>, ITree<TokenType>>> handleSpecialOperator) { + Function<TokenType, Function<Deque<ITree<TokenType>>, + ITree<TokenType>>> handleSpecialOperator) { if (tokens == null) { throw new NullPointerException("Tokens must not be null"); } else if (operatorPredicate == null) { @@ -79,8 +80,9 @@ public class TreeConstructor { "Special operator determiner must not be null"); } - IHolder<IPair<Deque<ITree<TokenType>>, ITree<TokenType>>> initialState = new Identity<>( - new Pair<>(new LinkedList<>(), null)); + IHolder<IPair<Deque<ITree<TokenType>>, + ITree<TokenType>>> initialState = new Identity<>( + new Pair<>(new LinkedList<>(), null)); tokens.forEach( new TokenTransformer<>(initialState, operatorPredicate, |
