aboutsummaryrefslogtreecommitdiff
path: root/src/interp/comp.lisp
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2008-10-11 02:11:33 +0000
committerdos-reis <gdr@axiomatics.org>2008-10-11 02:11:33 +0000
commit567d3bbfc92aad2305987e3d6adedcb92615d5d5 (patch)
tree3ea82ce93405e7234c8cc2faf9b793419e2f8a76 /src/interp/comp.lisp
parentb65e17e4ccd9f302b5dff63e65008b349c2b3f71 (diff)
downloadopen-axiom-567d3bbfc92aad2305987e3d6adedcb92615d5d5.tar.gz
* interp/c-util.boot (backendFluidize): New.
* interp/comp.lisp (COMP-TRAN): Use it. (COMP-FLUIDIZE): Remove.
Diffstat (limited to 'src/interp/comp.lisp')
-rw-r--r--src/interp/comp.lisp15
1 files changed, 1 insertions, 14 deletions
diff --git a/src/interp/comp.lisp b/src/interp/comp.lisp
index 871cbe4c..46499b85 100644
--- a/src/interp/comp.lisp
+++ b/src/interp/comp.lisp
@@ -127,26 +127,13 @@
(if (or lvars (contained 'RETURN (third x)))
`(prog ,lvars (return ,(third x)))
(third x)) )))))
- (let ((fluids (S+ (comp-fluidize (second x)) SpecialVars)))
+ (let ((fluids (S+ (|backendFluidize| (second x)) SpecialVars)))
(if fluids
`(,(first x) ,(second x) (declare (special . ,fluids)) . ,(cddr x))
`(,(first x) ,(second x) . ,(cddr x))))))
; Fluidize: Returns a list of fluid variables in X
-(DEFUN COMP-FLUIDIZE (X)
- (COND ((AND (symbolp X)
- (NE X '$)
- (NE X '$$)
- (char= #\$ (ELT (PNAME X) 0))
- (NOT (DIGITP (ELT (PNAME X) 1))))
- x)
- ((atom x) nil)
- ((eq (first X) 'FLUID) (second X))
- ((let ((a (comp-fluidize (first x)))
- (b (comp-fluidize (rest x))))
- (if a (cons a b) b)))))
-
(DEFUN COMP\,FLUIDIZE (X) (COND
((AND (IDENTP X)
(NE X '$)