27 lines
652 B
Scheme
Executable File
27 lines
652 B
Scheme
Executable File
#! /bin/sh
|
|
exec guile -L . -e main -s "$0" "$@"
|
|
!#
|
|
|
|
(use-modules (scmvm vm)
|
|
(scmvm assembler)
|
|
(srfi srfi-11)
|
|
(srfi srfi-26)
|
|
(ice-9 control))
|
|
|
|
(define (make-debugger source asm)
|
|
())
|
|
|
|
(define (debug file)
|
|
(let*-values ([(source) (open-file file)]
|
|
[(asm) (call-with-output-bytevector (cut assemble-file file <>))]
|
|
[(begin-debugger resume-debugger) (make-debugger source asm)])
|
|
(% (begin-debugger)
|
|
(resume-debugger))))
|
|
|
|
(define (main . args)
|
|
(when (null? args)
|
|
(usage))
|
|
(case (car args)
|
|
[(help) (usage)]
|
|
[(debug) (apply debug (cdr args))]))
|