anchor.diff:    (let (grammar)
       (dolist (r rules (reverse grammar))
         (ecase (car r)
  -	((->)  (push (compile-rule (cdr r)) grammar))
  -	((r->) (push (compile-regex-rule (cdr r)) grammar))))))
  +	((->)  (push (compile-rule (list (cadr r) (caddr r) (cdddr r))) grammar))
  +	((r->) (push (compile-regex-rule (list (cadr r) (caddr r) (cdddr r))) grammar))))))
   
  +
  +;; statistics
   
   (defun save-grammar-doc (grammar filename)
     (let* ((len (length grammar))
  
positive.code:           (format *debug-io* "compiled-lhs = ~a~%compiled-rhs = ~a~%" compiled-lhs compiled-rhs))
  	(list (create-scanner compiled-lhs)
  	      compiled-rhs (third rule) compiled-lhs compiled-rhs))
        nil))
  
  (defun compile-regex-rule (rule)
    (if (valid-regex-rule rule)
        (let ((compiled-lhs (first rule))
  	    (compiled-rhs (second rule)))
  	(list (create-scanner compiled-lhs)
  	      compiled-rhs (third rule) compiled-lhs compiled-rhs))
        nil))
  
  
  (defun apply-rule (rule line)
  
negative.code:              (= 2 (length token)))
             (valid-side (side)
               (every #'identity (mapcar #'valid-token (parse-side side)))))
      (and (valid-length rule)
  	 (valid-side (car rule)) (valid-side (cadr rule)))))
  
  (defun valid-regex-rule (rule)
    (valid-length rule))
  
  (defun compile-rule (rule)
    (if (valid-rule rule)
  