; This is a version of the read-xeval-print loop that will first read from ; a selected file before entering the interactive loop. Run the ; readfile-xeval-print function to load the xeval-tests.xl file when you're ; ready to handin your final results ; ; SEE ALSO: the file read-xeval-print.l ; ; (defun readfile-xeval-print-loop () (prog (infilename instream xexpr memory) (setq memory '()) (read-line) (princ "Name of xeval test file: ") (setq infilename (read-line)) (setq instream (open infilename)) file-read-loop (setq xexpr (read instream nil 'eof)) (cond ( (not (eq xexpr 'eof)) (setq result (xeval xexpr memory)) (print (car result)) (setq memory (cadr result)) (go file-read-loop) ) ) (terpri) (terpri) loop (princ "X>") (setq result (xeval (read) memory)) (princ (car result)) (setq memory (cadr result)) (terpri)(terpri) (go loop) ) )