chiark / gitweb /
src/final.lisp (test-module): Optionally clear the decks before parsing.
[sod] / src / final.lisp
index b98acd1c542a555a51b8aee9a3506a8f91cecb5b..05284910991f0e6196edb715a3c241896d1cf04b 100644 (file)
@@ -39,14 +39,17 @@ (export '*debugout-pathname*)
 (defvar *debugout-pathname* #p"debugout.c")
 
 (export 'test-module)
-(defun test-module (path &key reason)
+(defun test-module (path &key reason clear)
   "Read a module from PATH, to exercise the machinery.
 
+   If CLEAR is non-nil, then reset the translator's state before proceeding.
+
    If REASON is non-nil, then output the module to `*debugout-pathname*' with
    that REASON.
 
    Return a two-element list (NERROR NWARNING) of the number of errors and
    warnings encountered while processing the module."
+  (when clear (clear-the-decks))
   (multiple-value-bind (module nerror nwarning)
       (count-and-report-errors () (read-module path))
     (when (and module reason)