diff options
Diffstat (limited to 'src/interp/topics.boot')
-rw-r--r-- | src/interp/topics.boot | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/src/interp/topics.boot b/src/interp/topics.boot index 5e9b04a6..ec4bf203 100644 --- a/src/interp/topics.boot +++ b/src/interp/topics.boot @@ -96,14 +96,14 @@ mkTopicHashTable() == --given $groupAssoc = ((extended . while blankLine? line repeat line := READLINE instream m := maxIndex line --file "topics.data" has form: m = -1 => 'skip --1 ConstructorName: - line.0 = char "-" => 'skip --2 constructorName or operation name + stringChar(line,0) = char "-" => 'skip --2 constructorName or operation name line := trimString line --3-n ... m := maxIndex line -- (blank line) ... - line.m ~= char ":" => systemError('"wrong heading") + stringChar(line,m) ~= char ":" => systemError('"wrong heading") con := makeSymbol subString(line,0,m) alist := [lst while not EOFP instream and not (blankLine? (line := READLINE instream)) and - line.0 ~= char "-" for i in 1.. + stringChar(line,0) ~= char "-" for i in 1.. | lst := string2OpAlist line] alist => HPUT($conTopicHash,con,alist) --initialize table of topic classes @@ -129,12 +129,12 @@ mkTopicHashTable() == --given $groupAssoc = ((extended . $conTopicHash --keys are ops or 'constructor', values are codes blankLine? line == - maxIndex line = -1 or and/[line . j = char " " for j in 0..maxIndex line] + #line = 0 or and/[stringChar(line,j) = char " " for j in 0..maxIndex line] string2OpAlist s == m := #s k := skipBlanks(s,0,m) or return nil - upperCase? s.k => nil --skip constructor names + upperCase? stringChar(s,k) => nil --skip constructor names k := 0 while (k := skipBlanks(s,k,m)) repeat acc := [makeSymbol subString(s,k,-k + (k := charPosition(char " ",s,k + 1))),:acc] @@ -145,8 +145,8 @@ string2OpAlist s == getDefaultProps name == u := HGET($defaultsHash,name) - if (s := PNAME name).(m := maxIndex s) = char "?" then u := ['p,:u] - if s.m = char "!" then u := ['destructive,:u] + if stringChar(s := symbolName name,m := maxIndex s) = char "?" then u := ['p,:u] + if stringChar(s,m) = char "!" then u := ['destructive,:u] u skipBlanks(u,i,m) == |