summaryrefslogtreecommitdiff
path: root/dice-lang/src/bjc/dicelang/v2/Define.java
diff options
context:
space:
mode:
authorbculkin2442 <bjculkin@mix.wvu.edu>2017-02-19 08:30:45 -0500
committerbculkin2442 <bjculkin@mix.wvu.edu>2017-02-19 08:30:45 -0500
commite03b3f477bcc160b72af4ab09cd8d12081017d2c (patch)
treef4e1779c5cf3aa893bd7bdc6c826c64f15648ed9 /dice-lang/src/bjc/dicelang/v2/Define.java
parent03e40ec669ee51c697de64178af6bb662161a8ae (diff)
Lots of things, but mostly evaluation
Diffstat (limited to 'dice-lang/src/bjc/dicelang/v2/Define.java')
-rw-r--r--dice-lang/src/bjc/dicelang/v2/Define.java20
1 files changed, 16 insertions, 4 deletions
diff --git a/dice-lang/src/bjc/dicelang/v2/Define.java b/dice-lang/src/bjc/dicelang/v2/Define.java
index 6ca0c74..2ecbc69 100644
--- a/dice-lang/src/bjc/dicelang/v2/Define.java
+++ b/dice-lang/src/bjc/dicelang/v2/Define.java
@@ -23,7 +23,8 @@ public class Define implements UnaryOperator<String> {
private Iterator<String> replacers;
private String replacer;
- public Define(int priorty, boolean isSub, boolean recur,
+ public Define(int priorty,
+ boolean isSub, boolean recur, boolean isCircular,
String predicte, String searchr, Iterable<String> replacrs) {
priority = priorty;
doRecur = recur;
@@ -36,7 +37,7 @@ public class Define implements UnaryOperator<String> {
if(subType) {
if(replacrs.iterator().hasNext()) {
- replacers = new CircularIterator<>(replacrs);
+ replacers = new CircularIterator<>(replacrs, isCircular);
} else {
replacers = null;
}
@@ -79,8 +80,19 @@ public class Define implements UnaryOperator<String> {
StringBuffer sb = new StringBuffer();
while(searcherMatcher.find()) {
- if(replacers == null) searcherMatcher.appendReplacement(sb,"");
- else searcherMatcher.appendReplacement(sb, replacers.next());
+ if(replacers == null) {
+ System.out.println("\t\tTRACE: running null replacer on substring "
+ + tok.substring(searcherMatcher.start(), searcherMatcher.end()));
+
+ searcherMatcher.appendReplacement(sb,"");
+ } else {
+ String replac = replacers.next();
+
+ System.out.println("\t\tTRACE: running replacer " + replac + " on substring "
+ + tok.substring(searcherMatcher.start(), searcherMatcher.end()));
+
+ searcherMatcher.appendReplacement(sb, replacers.next());
+ }
}
searcherMatcher.appendTail(sb);