aboutsummaryrefslogtreecommitdiffstats
path: root/lib/csc/linker-test.csc
diff options
context:
space:
mode:
authorRose Hogenson <rhogenson@posteo.net>2023-05-01 07:56:42 -0700
committerRose Hogenson <rhogenson@posteo.net>2023-05-01 07:56:42 -0700
commita89d6c82e981fec7d6e4c975e083d2b9e04467ad (patch)
treed5445ceb797473dd45ac006c337d990e5dd6f0d4 /lib/csc/linker-test.csc
parentFix bugs with recursive macros and empty template. (diff)
downloadchromatopelma-a89d6c82e981fec7d6e4c975e083d2b9e04467ad.tar.zst
Rewrite most of the compiler.
This represents a major step back in terms of functionality, and amount of code. The latter I think constitutes a major win. Next steps are to reimplement syntax-rules, call/cc, and call-with-values.
Diffstat (limited to 'lib/csc/linker-test.csc')
-rw-r--r--lib/csc/linker-test.csc49
1 files changed, 0 insertions, 49 deletions
diff --git a/lib/csc/linker-test.csc b/lib/csc/linker-test.csc
deleted file mode 100644
index adbcf91..0000000
--- a/lib/csc/linker-test.csc
+++ /dev/null
@@ -1,49 +0,0 @@
-(define-library (csc linker-test)
- (import (scheme base)
- (only (csc format)
- sprintf)
- (only (csc hash-map)
- alist->map
- hash-bytevector
- make-comparer
- make-map)
- (only (csc list)
- all)
- (only (csc testing)
- assert-equal
- test)
- (csc linker))
- (begin
-
-
- (test link-labels
- (assert-equal
- '((alloc (local 0) (const 0))
- (jmp (const 2))
- (jmp (const 1)))
- (link
- '(((label 0)
- (jmp (label 1))
- (label 1)
- (jmp (label 0)))))))
-
-
- (test link-labels-are-unique-per-program
- (assert-equal
- '((alloc (local 0) (const 0))
- (jmp (const 1))
- (jmp (const 2)))
- (link
- '(((label 0)
- (jmp (label 0)))
- ((label 0)
- (jmp (label 0)))))))
-
-
- (test link-globals
- (assert-equal
- '((alloc (local 0) (const 11))
- (peek (local 1) (local 0) (const 10)))
- (link
- '(((peek (local 1) (local 0) (global cons (csc based)))))
- (alist->map compare-globals '(((global cons (csc based)) . 10))))))))