anchor.diff:  ;; A simple top-down, backtracking parser
   ;; Modelled after EBNF notation
   
  +(defpackage "EBNF-PARSER"
  +    (:nicknames "EBNF" "PARSER")
  +    (:use "COMMON-LISP")
  +    (:export "GRAMMAR-CHAR"
  +             "GRAMMAR-CHARTABLE"
  +             "GRAMMAR-STRING"
  +             "GRAMMAR-AND"
  +             "GRAMMAR-OR"
  +             "GRAMMAR-N"
  +             "GRAMMAR-*"
  +             "GRAMMAR-EXCEPTION"
  +             "GRAMMAR-FUNC"
  +             "GRAMMAR-RULE"))
  +    
  +(in-package "EBNF-PARSER")  
   
  -;; Internal utilities
  +
  +;;; Internal utilities
   
   
   (defmacro grammar-call (x)
  
positive.code:       (values end (,f value)))))
  
  
  ;; Helper macros
  
  
  (defmacro grammar-rule (name &rest body)
    "defun wrapper to simplify rule production"
    `(defun ,name (string &key (start 0))
      ,@body))
  
negative.code:           (values end value))))))
  
  
  ;;; Output control
  
  
  (defmacro grammar-func (x f)
  