diff options
Diffstat (limited to 'dice-lang/src/bjc/dicelang/Define.java')
| -rw-r--r-- | dice-lang/src/bjc/dicelang/Define.java | 66 |
1 files changed, 33 insertions, 33 deletions
diff --git a/dice-lang/src/bjc/dicelang/Define.java b/dice-lang/src/bjc/dicelang/Define.java index b7d196d..d9e1f84 100644 --- a/dice-lang/src/bjc/dicelang/Define.java +++ b/dice-lang/src/bjc/dicelang/Define.java @@ -2,14 +2,16 @@ package bjc.dicelang; import bjc.utils.data.CircularIterator; -import static bjc.dicelang.Errors.ErrorKey.*; - import java.util.Iterator; import java.util.function.UnaryOperator; import java.util.regex.Matcher; import java.util.regex.Pattern; import java.util.regex.PatternSyntaxException; +import static bjc.dicelang.Errors.ErrorKey.EK_DFN_PREDSYN; +import static bjc.dicelang.Errors.ErrorKey.EK_DFN_RECUR; +import static bjc.dicelang.Errors.ErrorKey.EK_DFN_SRCSYN; + public class Define implements UnaryOperator<String>, Comparable<Define> { public static enum Type { LINE, TOKEN @@ -17,17 +19,17 @@ public class Define implements UnaryOperator<String>, Comparable<Define> { public static int MAX_RECURS = 10; - public final int priority; - public final boolean inError; + public final int priority; + public final boolean inError; - private boolean doRecur; - private boolean subType; + private boolean doRecur; + private boolean subType; - private Pattern predicate; - private Pattern searcher; + private Pattern predicate; + private Pattern searcher; - private Iterator<String> replacers; - private String replacer; + private Iterator<String> replacers; + private String replacer; public Define(int priorty, boolean isSub, boolean recur, boolean isCircular, String predicte, String searchr, Iterable<String> replacrs) { @@ -38,10 +40,10 @@ public class Define implements UnaryOperator<String>, Comparable<Define> { /* * Only try to compile non-null predicates */ - if (predicte != null) { + if(predicte != null) { try { predicate = Pattern.compile(predicte); - } catch (PatternSyntaxException psex) { + } catch(PatternSyntaxException psex) { Errors.inst.printError(EK_DFN_PREDSYN, psex.getMessage()); inError = true; return; @@ -53,7 +55,7 @@ public class Define implements UnaryOperator<String>, Comparable<Define> { */ try { searcher = Pattern.compile(searchr); - } catch (PatternSyntaxException psex) { + } catch(PatternSyntaxException psex) { Errors.inst.printError(EK_DFN_SRCSYN, psex.getMessage()); inError = true; return; @@ -63,8 +65,8 @@ public class Define implements UnaryOperator<String>, Comparable<Define> { /* * Check whether or not we do sub-replacements */ - if (subType) { - if (replacrs.iterator().hasNext()) { + if(subType) { + if(replacrs.iterator().hasNext()) { replacers = new CircularIterator<>(replacrs, isCircular); } else { replacers = null; @@ -72,39 +74,38 @@ public class Define implements UnaryOperator<String>, Comparable<Define> { } else { Iterator<String> itr = replacrs.iterator(); - if (itr.hasNext()) + if(itr.hasNext()) { replacer = itr.next(); - else + } else { replacer = ""; + } } } + @Override public String apply(String tok) { - if (inError) - return tok; + if(inError) return tok; - if (predicate != null) { - if (!predicate.matcher(tok).matches()) { - return tok; - } + if(predicate != null) { + if(!predicate.matcher(tok).matches()) return tok; } String strang = doPass(tok); - if (doRecur) { + if(doRecur) { int recurCount = 0; - if (strang.equals(tok)) { + if(strang.equals(tok)) return strang; - } else { + else { String oldStrang = strang; do { strang = doPass(tok); recurCount += 1; - } while (!strang.equals(oldStrang) && recurCount < MAX_RECURS); + } while(!strang.equals(oldStrang) && recurCount < MAX_RECURS); - if (recurCount >= MAX_RECURS) { + if(recurCount >= MAX_RECURS) { Errors.inst.printError(EK_DFN_RECUR, Integer.toString(MAX_RECURS), tok, strang); return strang; } @@ -117,10 +118,10 @@ public class Define implements UnaryOperator<String>, Comparable<Define> { private String doPass(String tok) { Matcher searcherMatcher = searcher.matcher(tok); - if (subType) { + if(subType) { StringBuffer sb = new StringBuffer(); - while (searcherMatcher.find()) { - if (replacers == null) { + while(searcherMatcher.find()) { + if(replacers == null) { searcherMatcher.appendReplacement(sb, ""); } else { String replac = replacers.next(); @@ -130,9 +131,8 @@ public class Define implements UnaryOperator<String>, Comparable<Define> { searcherMatcher.appendTail(sb); return sb.toString(); - } else { + } else return searcherMatcher.replaceAll(replacer); - } } @Override |
