anchor.diff:             while (< mark (length d-states))
              for ds = (aref d-states mark)
              do (progn
  -                ;;(format t "~&d-states: ~A" ds)
                   (loop
                      for i-z below (length i-tokens)
                      for u = (sort (nfa-et-closure ds i-z mover) #'<)
  
positive.code: ;;;;   EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  
  
  ;;; DFA
  ;;;  -(Q, E, d, q0, F),
  ;;;    - Q: states
  ;;;    - E: alphabet
  ;;;    - d: Q*E :-> Q
  ;;;    - q0: start state
  ;;;    - F: accept state
  
  
  (defun dfa-dot (d &key output final start)
    "Graphviz output of dfa.
  d: list of transitions '((state-0 token state-1)...)
  final: list of accept states
  
negative.code:                  name))
             (helper (s)
               (format s "~&digraph {~%")
               (when (fa-start fa)
                 (format s "~&  start[shape=none];")
                 (format s "~{~&  start -> ~A;~}" (alexandria:ensure-list (fa-start fa))))
               (format s "~{~&  ~A [ shape=doublecircle ];~}" (fa-accept fa))
               (map 'nil (lambda (x)
                           (format s "~&  ~A -> ~A [label=\"~A\"];~%"
                                   (first x) (third x) (token-label (second x))))
                    (fa-edges fa))
               (format s "~&}~%"))
             (dot (ext)
               (let ((p (sb-ext:run-program "dot" (list (concatenate 'string "-T" ext))
  