compile to new vm

This commit is contained in:
Yuichi Nishiwaki
2017-04-14 23:06:53 +09:00
parent 6968a9d9ef
commit 70600fec3e
4 changed files with 2052 additions and 776 deletions
Binary file not shown.
+2048 -772
View File
File diff suppressed because it is too large Load Diff
+2 -2
View File
@@ -198,7 +198,7 @@
(define (expand-define-macro var transformer env)
(let ((uid (add-identifier! var env)))
(let ((expander (load (expand transformer env))))
(let ((expander (load (compile (expand transformer env)))))
(add-macro! uid expander)
#undefined)))
@@ -891,5 +891,5 @@
;; eval
(define (eval expr . env)
(load (expand expr (if (null? env) default-environment (car env))))))
(load (compile (expand expr (if (null? env) default-environment (car env)))))))
+2 -2
View File
@@ -1,7 +1,7 @@
(import (scheme base)
(scheme read)
(scheme write)
(only (picrin base) compile))
(only (picrin base) compile expand default-environment))
(define (generate-rom)
@@ -16,7 +16,7 @@
(define text
(with-output-to-string
(lambda ()
(write (compile (read))))))
(write (compile (expand (read) default-environment))))))
(define (escape-string s)
(with-output-to-string