28 lines
933 B
Scheme
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))
|