aboutsummaryrefslogtreecommitdiff
path: root/src/boot/ast.boot
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2011-04-28 02:50:09 +0000
committerdos-reis <gdr@axiomatics.org>2011-04-28 02:50:09 +0000
commit0df2bba385eeeaf650b6c13b2f4b10f991929ec8 (patch)
treea25cbb46723900ee16596552276f8eb608c83918 /src/boot/ast.boot
parent6a5ae8ebc949855925c5e5763f11601c2f64339e (diff)
downloadopen-axiom-0df2bba385eeeaf650b6c13b2f4b10f991929ec8.tar.gz
* boot/ast.boot (bfCollect): Use bfDoCollect.
(bfListReduce): Remove.
Diffstat (limited to 'src/boot/ast.boot')
-rw-r--r--src/boot/ast.boot12
1 files changed, 3 insertions, 9 deletions
diff --git a/src/boot/ast.boot b/src/boot/ast.boot
index 1e45f7f2..bc444a4e 100644
--- a/src/boot/ast.boot
+++ b/src/boot/ast.boot
@@ -370,18 +370,12 @@ bfDTuple x ==
bfCollect(y,itl) ==
y is ["COLON",a] =>
a is ['CONS,:.] or a is ['LIST,:.] =>
- bfDoCollect(a,itl,'lastNode,nil)
- bfListReduce('APPEND,['reverse,a],itl)
+ bfDoCollect(a,itl,'lastNode,'skipNil)
+ bfDoCollect(['copyList,a],itl,'lastNode,'skipNil)
y is ["TUPLE",:.] =>
- bfListReduce('APPEND,['reverse,bfConstruct y],itl)
+ bfDoCollect(bfConstruct y,itl,'lastNode,'skipNil)
bfDoCollect(['CONS,y,'NIL],itl,'CDR,nil)
-bfListReduce(op,y,itl)==
- g := bfGenSymbol()
- body := ['SETQ,g,[op,y,g]]
- extrait := [[[g],[nil],[],[],[],[['reverse!,g]]]]
- bfLp2(extrait,itl,body)
-
bfMakeCollectInsn(expr,prev,head,adv) ==
firstTime := bfMKPROGN
[['SETQ,head,expr],['SETQ,prev,(adv is 'CDR => head; [adv,head])]]