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,6 +1,6 @@
(use-modules (d- test)
(scmvm language common)
(scmvm language assembler)
(scmvm assembler)
(scmvm language assembly)
(scmvm vm)
(scmvm debugger)
(rnrs bytevectors)
@@ -9,7 +9,7 @@
#:select (open-output-bytevector get-output-bytevector)))
;;; Data
(define adder-program-asm
(define adder-program-assembly
'((variable result 0)
(push 1)
(push 2)
@@ -18,7 +18,7 @@
(!)
(bye)))
(define fib-program-asm
(define fib-program-assembly
'( (variable result 0)
(ref result)
(push fib)
@@ -106,14 +106,14 @@
))
;;; Tests
(define-test-suite "assembler"
(define-test-suite "assembly"
(define-test "adder"
(define out (open-output-bytevector))
(assemble adder-program-asm out)
(assemble adder-program-assembly out)
(assert-equal adder-program-bytecode (get-output-bytevector out)))
(define-test "fib"
(define out (open-output-bytevector))
(assemble fib-program-asm out)
(assemble fib-program-assembly out)
(assert-equal fib-program-bytecode (get-output-bytevector out))))
(define-test-suite "vm"
@@ -133,6 +133,9 @@
(define-test-suite "debugger"
(define-test "modify-running-program"
(define fib-program-asm (make-assembler))
(assemble-instructions fib-program-asm fib-program-assembly)
(finalize-references fib-program-asm)
(define my-debugger (make-debugger fib-program-asm))
(define my-vm (debugger-vm my-debugger))
(define my-data (vm-data-stack my-vm))
@@ -146,6 +149,9 @@
(debugger-continue my-debugger)
(assert-equal 1 (vm-memory-ref my-vm 1)))
(define-test "stepping"
(define fib-program-asm (make-assembler))
(assemble-instructions fib-program-asm fib-program-assembly)
(finalize-references fib-program-asm)
(define my-debugger (make-debugger fib-program-asm))
(define my-vm (debugger-vm my-debugger))
(vm-memory-set! my-vm 1 10)