make forge:repl working, with ? and ?? words; test-forge: keep *forge-env*
This commit is contained in:
parent
ef7ee0b9f4
commit
fb88c0b934
2 changed files with 7 additions and 3 deletions
|
@ -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)
|
||||||
|
|
|
@ -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)
|
||||||
|
|
Loading…
Add table
Reference in a new issue