diff options
Diffstat (limited to 'src/interp/guess.boot')
-rw-r--r-- | src/interp/guess.boot | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/interp/guess.boot b/src/interp/guess.boot index 380a751d..27cf3723 100644 --- a/src/interp/guess.boot +++ b/src/interp/guess.boot @@ -69,13 +69,13 @@ wordsOfString(s) == [UPCASE x for x in wordsOfStringKeepCase s] wordsOfStringKeepCase s == wordsOfString1(s,0) or [COPY s] wordsOfString1(s,j) == - k := or/[i for i in j..(maxIndex(s)-1) | upperCase? s.i] => + k := or/[i for i in j..(maxIndex(s)-1) | upperCase? stringChar(s,i)] => tailWords:= upperCase? s.(k+1) => - n:= or/[i for i in (k+2)..(maxIndex(s)-1)|not upperCase? s.i] + n:= or/[i for i in (k+2)..(maxIndex(s)-1)| not upperCase? stringChar(s,i)] null n => [subString(s,k)] n > k+1 => [subString(s,k,n-k-1),:wordsOfString1(s,n-1)] - m := or/[i for i in (k+2)..(maxIndex(s)-1) | upperCase? s.i] => + m := or/[i for i in (k+2)..(maxIndex(s)-1) | upperCase? stringChar(s,i)] => [subString(s,k,m-k),:wordsOfString1(s,m)] [subString(s,k)] k > j+1 => [subString(s,j,k-j),:tailWords] @@ -85,7 +85,7 @@ wordsOfString1(s,j) == wordKeys s == removeDuplicates [UPCASE s.0,:fn(s,1,-1,maxIndex s,nil)] where fn(s,i,lastKeyIndex,n,acc) == i > n => acc - upperCase? s.i => + upperCase? stringChar(s,i) => -- i = lastKeyIndex + 1 => fn(s,i + 1,i,n,[s.i,:rest acc]) fn(s,i + 1,i,n,[s.i,:acc]) fn(s,i + 1,lastKeyIndex,n,acc) |