scm-to-vm/scmvm.scm

28 lines
933 B
Scheme

(define-module (scmvm)
#:use-module (scmvm vm)
#:use-module (scmvm assembler)
#:use-module (scmvm debugger)
#:use-module (ice-9 ports)
#:re-export ( ;; vm
make-vm run-vm vm-load-program!
vm-memory-ref vm-memory-set!
vm-pc vm-pc-set!
;; assembler
assemble
;; debugger
make-debugger debugger-continue
debugger-vm
debugger-breakpoints debugger-breakpoints-set!
debugger-breakpoint-add! debugger-breakpoint-ref
debugger-breakpoint-enable! debugger-breakpoint-disable!)
#:export (read-all-instructions instructions-from-file))
(define (read-all-instructions)
(let ([inst (read)])
(if (eof-object? inst)
'()
(cons inst (read-all-instructions)))))
(define (instructions-from-file file)
(with-input-from-file file read-all-instructions))