Atomic cps operations (ints lol)
This commit is contained in:
14
scmvm/language/cps.scm
Normal file
14
scmvm/language/cps.scm
Normal file
@@ -0,0 +1,14 @@
|
||||
(define-module (scmvm language cps)
|
||||
#:use-module (scmvm assembler)
|
||||
#:use-module (ice-9 match)
|
||||
#:export (compile-cps))
|
||||
|
||||
(define (compile-atom asm atom)
|
||||
(cond
|
||||
[(number? atom) (emit-literal asm atom)]))
|
||||
|
||||
(define (compile-cps asm soup)
|
||||
(when (not (null? soup))
|
||||
(match (car soup)
|
||||
[(? (negate pair?) atom) (compile-atom asm atom)])
|
||||
(compile-cps asm (cdr soup))))
|
||||
Reference in New Issue
Block a user