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