Move further code to common, rename to assembler (last restructure I promise)

This commit is contained in:
2025-09-05 09:58:11 -05:00
parent 4e8e3ef8c4
commit 2d868bb581
6 changed files with 163 additions and 85 deletions

View File

@@ -1,5 +1,5 @@
(define-module (scmvm debugger)
#:use-module (scmvm language assembler)
#:use-module (scmvm assembler)
#:use-module (scmvm vm)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-9)
@@ -15,10 +15,10 @@
debugger-step debugger-continue))
(define-record-type <debugger>
(make-debugger vm source breakpoints continuation stepping)
(make-debugger vm asm breakpoints continuation stepping)
debugger?
(vm debugger-vm)
(source debugger-source)
(asm debugger-asm)
(breakpoints debugger-breakpoints)
(continuation debugger-continuation debugger-continuation-set!)
(stepping debugger-stepping? debugger-stepping-set!))
@@ -43,12 +43,12 @@
['ref
(ilambda (i) (assq-ref the-breakpoints i))]))
(define (make-debugger* source)
(define-values (prgm asm)
(define (make-debugger* asm)
(define prgm
(call-with-values open-bytevector-output-port
(lambda (port get-bv)
(define asm (assemble source port))
(values (get-bv) asm))))
(assembler-dump-program asm port)
(get-bv))))
(define the-debugger #f)
(define (debug)
(shift k
@@ -58,7 +58,7 @@
(k))))
(define vm (make-vm #:debugger debug))
(vm-load-program! vm prgm)
(set! the-debugger (make-debugger vm source (make-breakpoints asm) #f #f))
(set! the-debugger (make-debugger vm asm (make-breakpoints asm) #f #f))
(debugger-breakpoint-add! the-debugger 1)
(reset (run-vm vm))
the-debugger)