anchor.diff:  (defvar *run-in-source* nil "run directly from source (no installation)")
   (defvar *output-directory* "pegexel-output/" "output directory to place generated files (relative to template file).")
   (defvar *output-filename* nil  "output filename (default generated from template filename).")
  +(defvar *force-rewrite* nil "Force overwrite existing output file.")
   (export '(*debug* *no-escape* *default-tex-environment*))
   
   ; show short long var string
  
positive.code:     (t "-n" "--no-escape-bs" *no-escape* nil)
      (t "-w" "--where" *output-directory* "DIR")
      (t "-o" "--output" *output-filename* "FILE")
      (nil "-s" "--run-in-source" *run-in-source* nil))
    "List of parsed script arguments")
  
  
negative.code: ; generate before get output filename because extension can be changed in generation.
  (let* ((syms (generate-exo *exo-grammar*))
         (output-filename (output-file *filename*  *output-directory*  *output-filename*)))
    (when (probe-file output-filename)
      (cond  (*force-rewrite* (script-debug "Deleting existing file ~A~%" output-filename)
  			    (delete-file  output-filename))
  	   (t (format *error-output* "File ~A exists! Use -f to overwrite." output-filename)
  	      (quit))))
    (script-debug "Output filename ~A~%" (namestring output-filename))
    (with-open-file (stream output-filename :direction :output)
      (unless *quiet* (format t "Generating file ~A~%" output-filename))
  