aboutsummaryrefslogtreecommitdiffstats
path: root/csc/cps-test.csc
diff options
context:
space:
mode:
Diffstat (limited to 'csc/cps-test.csc')
-rw-r--r--csc/cps-test.csc21
1 files changed, 12 insertions, 9 deletions
diff --git a/csc/cps-test.csc b/csc/cps-test.csc
index 84b8b9a..5283c2b 100644
--- a/csc/cps-test.csc
+++ b/csc/cps-test.csc
@@ -25,12 +25,15 @@
%branch
%closure
%fix
+ %globals
%primitive
%variable
+ *globals*
apply?
branch?
closure?
fix?
+ globals?
make-apply
make-atom
make-branch
@@ -56,6 +59,7 @@
(cons lexical-ref? %lexical-ref)
(cons library-ref? %library-ref)
(cons variable? %variable)
+ (cons globals? %globals)
(cons primitive? %primitive)
(cons branch? %branch)
(cons apply? %apply)
@@ -88,8 +92,7 @@
(test atom-library-ref
(assert-equal
- (make-primitive 'peek (list (make-library-ref 'var '(csc builtins)) (make-constant 0))
- (list (test-ref 'generated-symbol))
+ (make-primitive 'peek (list *globals* (make-library-ref 'var '(csc builtins))) (list (test-ref 'generated-symbol))
(make-apply (test-ref 'tail) (list (test-ref 'generated-symbol))))
(ir1->ir2 (make-library-ref 'var '(csc builtins)) tail)
transform-ir2))
@@ -209,7 +212,7 @@
(make-fix (list (make-closure (test-ref 'generated-symbol)
(list (test-ref 'generated-symbol))
(make-apply (test-ref 'generated-symbol) (list (test-ref 'generated-symbol)))))
- (make-primitive 'peek (list (make-library-ref 'wrong-number-of-arguments '(csc based)) (make-constant 0)) (list (test-ref 'generated-symbol))
+ (make-primitive 'peek (list *globals* (make-library-ref 'wrong-number-of-arguments '(csc based))) (list (test-ref 'generated-symbol))
(make-apply (test-ref 'generated-symbol)
(list (test-ref 'generated-symbol) (test-ref 'generated-symbol)))))
(make-fix (list (make-closure (test-ref 'generated-symbol)
@@ -230,7 +233,7 @@
(make-fix
(list (make-closure (test-ref 'generated-symbol) (list (test-ref 'generated-symbol))
(make-apply (test-ref 'generated-symbol) (list (test-ref 'generated-symbol)))))
- (make-primitive 'peek (list (make-library-ref 'vector->list '(csc based)) (make-constant 0)) (list (test-ref 'generated-symbol))
+ (make-primitive 'peek (list *globals* (make-library-ref 'vector->list '(csc based))) (list (test-ref 'generated-symbol))
(make-apply (test-ref 'generated-symbol) (list (test-ref 'generated-symbol) (test-ref 'generated-symbol)))))))))))
(make-primitive 'alloc (list (make-constant 4)) (list (test-ref 'generated-symbol))
(make-apply (test-ref 'generated-symbol) (list (test-ref 'generated-symbol) (test-ref 'generated-symbol))))))))))))))
@@ -267,7 +270,7 @@
(make-fix
(list (make-closure (test-ref 'generated-symbol) (list (test-ref 'generated-symbol))
(make-apply (test-ref 'generated-symbol) (list (test-ref 'generated-symbol)))))
- (make-primitive 'peek (list (make-library-ref 'wrong-number-of-arguments '(csc based)) (make-constant 0)) (list (test-ref 'generated-symbol))
+ (make-primitive 'peek (list *globals* (make-library-ref 'wrong-number-of-arguments '(csc based))) (list (test-ref 'generated-symbol))
(make-apply (test-ref 'generated-symbol) (list (test-ref 'generated-symbol) (test-ref 'generated-symbol)))))))))))
(make-fix
(list
@@ -326,7 +329,7 @@
(make-fix
(list (make-closure (test-ref 'generated-symbol) (list (test-ref 'generated-symbol))
(make-apply (test-ref 'generated-symbol) (list (test-ref 'generated-symbol)))))
- (make-primitive 'peek (list (make-library-ref 'wrong-number-of-arguments '(csc based)) (make-constant 0)) (list (test-ref 'generated-symbol))
+ (make-primitive 'peek (list *globals* (make-library-ref 'wrong-number-of-arguments '(csc based))) (list (test-ref 'generated-symbol))
(make-apply (test-ref 'generated-symbol) (list (test-ref 'generated-symbol) (test-ref 'generated-symbol)))))))))))
(make-apply (test-ref 'tail) (list (make-constant 10))))
(ir1->ir2
@@ -362,7 +365,7 @@
(make-fix
(list (make-closure (test-ref 'generated-symbol) (list (test-ref 'generated-symbol))
(make-apply (test-ref 'generated-symbol) (list (test-ref 'generated-symbol)))))
- (make-primitive 'peek (list (make-library-ref 'wrong-number-of-arguments '(csc based)) (make-constant 0)) (list (test-ref 'generated-symbol))
+ (make-primitive 'peek (list *globals* (make-library-ref 'wrong-number-of-arguments '(csc based))) (list (test-ref 'generated-symbol))
(make-apply (test-ref 'generated-symbol) (list (test-ref 'generated-symbol) (test-ref 'generated-symbol)))))))))))
(make-fix
(list
@@ -418,7 +421,7 @@
(make-fix
(list (make-closure (test-ref 'generated-symbol) (list (test-ref 'generated-symbol))
(make-apply (test-ref 'generated-symbol) (list (test-ref 'generated-symbol)))))
- (make-primitive 'peek (list (make-library-ref 'wrong-number-of-arguments '(csc based)) (make-constant 0)) (list (test-ref 'generated-symbol))
+ (make-primitive 'peek (list *globals* (make-library-ref 'wrong-number-of-arguments '(csc based))) (list (test-ref 'generated-symbol))
(make-apply (test-ref 'generated-symbol) (list (test-ref 'generated-symbol) (test-ref 'generated-symbol)))))))))))
(make-apply (test-ref 'tail) (list (make-constant 5))))
(ir1->ir2 (make-letrec
@@ -447,7 +450,7 @@
(make-fix
(list (make-closure (test-ref 'generated-symbol) (list (test-ref 'generated-symbol))
(make-apply (test-ref 'generated-symbol) (list (test-ref 'generated-symbol)))))
- (make-primitive 'peek (list (make-library-ref 'wrong-number-of-arguments '(csc based)) (make-constant 0)) (list (test-ref 'generated-symbol))
+ (make-primitive 'peek (list *globals* (make-library-ref 'wrong-number-of-arguments '(csc based))) (list (test-ref 'generated-symbol))
(make-apply (test-ref 'generated-symbol) (list (test-ref 'generated-symbol) (test-ref 'generated-symbol)))))))))))
(make-primitive 'poke (list (test-ref 'generated-symbol) (test-ref 'f) (make-constant 0)) '()
(make-primitive 'poke (list (make-constant 5) (test-ref 'f) (make-constant 0)) '()