anchor.diff:  ;;; File: parser.lisp
   ;;; Description: The LISA programming language parser.
   ;;;
  -;;; $Id: parser.lisp,v 1.66 2002/11/18 18:23:38 youngde Exp $
  +;;; $Id: parser.lisp,v 1.67 2002/11/18 18:55:17 youngde Exp $
   
   (in-package "LISA")
   
  
positive.code:                           #'build-parsed-pattern
                          (parse-test-pattern p) :test))
                       ((eq head 'not)
                        (multiple-value-call
                            #'build-parsed-pattern
                          (parse-default-pattern (second p) location) :negated))
  
negative.code:                (fixup-bindings (rest part) (push new-token result)))))
      (fixup-bindings patterns nil)))
  
  (let ((special-elements '(not exists logical)))
    
    (defun preprocess-left-side (lhs)
      (when (or (null lhs)
                (find (caar lhs) special-elements))
        (push (list 'initial-fact) lhs))
      (if (rule)
          (fixup-runtime-bindings lhs)
        lhs)))
  
  (defvar *in-logical-pattern-p* nil)
  
  