aboutsummaryrefslogtreecommitdiff
path: root/src/interp
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2011-02-26 22:32:20 +0000
committerdos-reis <gdr@axiomatics.org>2011-02-26 22:32:20 +0000
commitdf02d2410007b60d0ee057da174552847c0005f0 (patch)
tree4c3b60abff83bfae3bc9e209f081688493e2dafc /src/interp
parente8a84fdadd3c571f757a204f019e102d038ba277 (diff)
downloadopen-axiom-df02d2410007b60d0ee057da174552847c0005f0.tar.gz
* interp/g-opt.boot (optCond): Recognize conjunction and
disjunction forms.
Diffstat (limited to 'src/interp')
-rw-r--r--src/interp/g-opt.boot2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/interp/g-opt.boot b/src/interp/g-opt.boot
index 0afc98dd..b49a1beb 100644
--- a/src/interp/g-opt.boot
+++ b/src/interp/g-opt.boot
@@ -301,6 +301,8 @@ optCond (x is ['%when,:l]) ==
c1 is ['NIL] and p2 = '%otherwise and first c2 = '%otherwise =>
return optNot ['%not,p1]
l is [[p1,['%when,[p2,c2]]]] => optCond ['%when,[['%and,p1,p2],c2]]
+ l is [[p1,c1],['%otherwise,'%false]] => optAnd ['%and,p1,c1]
+ l is [[p1,c1],['%otherwise,'%true]] => optOr ['%or,optNot ['%not,p1],c1]
l is [[p1,:c1],[p2,:c2],[p3,:c3]] and p3 = '%otherwise =>
EqualBarGensym(c1,c3) =>
optCond ['%when,[['%or,p1,optNot ['%not,p2]],:c1],['%otherwise,:c2]]