Export stack functions for debugging, add one to get as list
This commit is contained in:
parent
9a8cd12c5d
commit
5e46e323a6
12
scmvm/vm.scm
12
scmvm/vm.scm
@ -5,8 +5,10 @@
|
||||
#:use-module (srfi srfi-1)
|
||||
#:use-module (srfi srfi-9)
|
||||
#:use-module (srfi srfi-26)
|
||||
#:export ((make-vm* . make-vm) run-vm
|
||||
vm-memory-ref vm-memory-byte-ref vm-memory-set! vm-memory vm-load-program!
|
||||
#:use-module (srfi srfi-43)
|
||||
#:export (make-stack (push . stack-push) (pop . stack-pop) (peek . stack-peek) stack-ref stack->list
|
||||
(make-vm* . make-vm) run-vm
|
||||
vm-memory-ref vm-memory-byte-ref vm-memory-set! vm-memory vm-load-program!
|
||||
vm-data-stack vm-ret-stack
|
||||
vm-debugger vm-debugger-set!
|
||||
vm-pc vm-pc-set!
|
||||
@ -52,6 +54,9 @@
|
||||
[(ref)
|
||||
(lambda (k)
|
||||
(vector-ref the-stack k))]
|
||||
[(->list)
|
||||
(lambda ()
|
||||
(reverse-vector->list the-stack 0 top))]
|
||||
[else (error "stack dispatch unknown value")])))
|
||||
|
||||
(define (push stack v)
|
||||
@ -72,6 +77,9 @@
|
||||
(define* (make-ram #:optional (memory-size *memory-size*))
|
||||
(make-bytevector memory-size #x00))
|
||||
|
||||
(define (stack->list stack)
|
||||
((stack '->list)))
|
||||
|
||||
|
||||
;;; IO
|
||||
(define (read-word)
|
||||
|
Loading…
Reference in New Issue
Block a user