diff options
author | dos-reis <gdr@axiomatics.org> | 2012-08-20 12:01:42 +0000 |
---|---|---|
committer | dos-reis <gdr@axiomatics.org> | 2012-08-20 12:01:42 +0000 |
commit | cb1bbfc4996f10ec428bc9bdafd53eebb1205258 (patch) | |
tree | 9182e31b8ed7ef11324b41e7d070f7d36596e3a6 /src/interp | |
parent | fc5f21dee871bb57e18ecd0818333a11eba76ed9 (diff) | |
download | open-axiom-cb1bbfc4996f10ec428bc9bdafd53eebb1205258.tar.gz |
* interp/br-util.boot (htPred2English,gn): Tidy.
* interp/br-search.boot (pmPreparse): Do not apply pmPreparse,hn.
Tidy.
(pmPreparse,hn): Remove.
Diffstat (limited to 'src/interp')
-rw-r--r-- | src/interp/br-search.boot | 5 | ||||
-rw-r--r-- | src/interp/br-util.boot | 7 |
2 files changed, 7 insertions, 5 deletions
diff --git a/src/interp/br-search.boot b/src/interp/br-search.boot index 090d7752..9890e86b 100644 --- a/src/interp/br-search.boot +++ b/src/interp/br-search.boot @@ -180,15 +180,14 @@ pmParseFromString s == [op,:[flatten x for x in argl]] s -pmPreparse s == hn fn(s,0,#s) where--stupid insertion of chars to get correct parse - hn x == SUBLISLIS('(and or not),'("and" "or" "not"),x) +pmPreparse s == fn(s,0,#s) where--stupid insertion of chars to get correct parse fn(s,n,siz) == --main function: s is string, n is origin n = siz => '"" i := firstNonDelim(s,n) or return subString(s,n) j := firstDelim(s,i + 1) or siz t := gn(s,i,j - 1) middle := - t in '("and" "or" "not") => t + member(t,'("and" "or" "not")) => t --the following 2 lines make commutative("*") parse correctly!!!! stringChar(t,0) = char "_"" => t j < siz - 1 and s.j = char "(" => t diff --git a/src/interp/br-util.boot b/src/interp/br-util.boot index acc4ed9a..fadc5bf9 100644 --- a/src/interp/br-util.boot +++ b/src/interp/br-util.boot @@ -162,11 +162,14 @@ htPred2English(x,:options) == bcConform(first l,$emList) htSay('" has ") fnAttr CADADR l - op in '(_has ofCategory) => + op in '(has ofCategory) => bcConform(first l,$emList) htSay('" has ") [a,b] := l - b is ['ATTRIBUTE,c] and not constructor? c => fnAttr c + b is ['ATTRIBUTE,c] => + symbol? c and not constructor? c => fnAttr c + c is [.,:.] and symbol? c.op and not constructor? c.op => fnAttr c + bcConform(c,$emList) bcConform(b, $emList) bcConform(x,$emList) fnAttr c == |