added repl

This commit is contained in:
2024-07-23 16:15:31 +03:00
parent 4979a97e02
commit 1732b9a1a1
2 changed files with 14 additions and 2 deletions

View File

@@ -14,7 +14,7 @@
;; (generate-program program :compile t)))
(compile-program (second args)))
((string= flag "-i")
(format t "Interpret program WIP~%"))
(interpret-program (make-program (second args))))
(t (format t "~a is not a valid flag~%" flag))))))
;; (defun make-exe ()
@@ -22,7 +22,7 @@
;; :toplevel #'main
;; :executable t))
(defparameter *example-path* "./test/prog.lorth")
(defparameter *example-path* (from-root "test/prog.lorth"))
(defun example-lex ()
(lex-file *example-path* t))
@@ -34,6 +34,15 @@
(generate-program (make-program *example-path*) :path "test/output.asm"
:compile t))
(defun example-interpret ()
(interpret-program (make-program *example-path*)))
(defun example-run ()
(example-compile)
(run '("test/output")))
(defun start-forth-repl ()
(iter (for line = (progn (format t "~&> ") (read-line)))
(when (string= line "bye")
(finish))
(interpret-program (parse-tokens (lex-line line 0)))))