make forge:repl working, with ? and ?? words; test-forge: keep *forge-env*

This commit is contained in:
Helmut Merz 2024-05-29 12:03:38 +02:00
parent ef7ee0b9f4
commit fb88c0b934
2 changed files with 7 additions and 3 deletions

View file

@ -115,6 +115,8 @@
(reg * (pushd (* (popd) (popd)))) (reg * (pushd (* (popd) (popd))))
(reg dup (pushd (car (dstack)))) (reg dup (pushd (car (dstack))))
(reg swap (let ((a (popd)) (b (popd))) (pushd a) (pushd b))) (reg swap (let ((a (popd)) (b (popd))) (pushd a) (pushd b)))
(reg ? (format t "~a~%" (popd)))
(reg ?? (format t "~a~%" (dstack)))
(register 'lit #'lit) (register 'lit #'lit)
(register 'wrap #'wrap) (register 'wrap #'wrap)
@ -134,7 +136,8 @@
(concatenate 'string "(" s ")")))) (concatenate 'string "(" s ")"))))
(defun repl () (defun repl ()
(do ((input (read-line) (read-line))) ((string= input "q") nil) (do ((input (read-line) (read-line)))
((string= input "q") (dstack))
(exec-str input))) (exec-str input)))
(defun exec (code) (defun exec (code)

View file

@ -12,8 +12,9 @@
(in-package :scopes/test-forge) (in-package :scopes/test-forge)
(defun run () (defun run ()
(let ((t:*test-suite* (t:test-suite "forge")) (let ((t:*test-suite* (t:test-suite "forge")))
(forge:*forge-env* (forge:forge-env))) ;(forge:*forge-env* (forge:forge-env)))
(setf forge:*forge-env* (forge:forge-env))
(forge:setup-builtins) (forge:setup-builtins)
(test-iseq) (test-iseq)
(test-exec) (test-exec)