anchor.diff:  	     :join-after " ="))
   
   (defmethod expression-precedence ((setf js-setf))
  -  (gethash '= *op-precedence-hash*))
  +  (op-precedence '=))
   
   ;;; defvar
   
  
positive.code: 
  (eval-when (:compile-toplevel :load-toplevel :execute)
  
    (defparameter *op-precedence-hash* (make-hash-table))
  
    (defparameter *op-precedences*
      '((aref)
        (slot-value)
        (! not ~)
        (* / %)
        (+ -)
        (<< >>)
        (>>>)
        (< > <= >=)
        (in if)
        (eql == != =)
        (=== !==)
        (&)
        (^)
        (\|)
        (\&\& and)
        (\|\| or)
        (setf *= /= %= += -= <<= >>= >>>= \&= ^= \|=)
        (comma)))
  
    ;;; generate the operator precedences from *OP-PRECEDENCES*
    (let ((precedence 1))
      (dolist (ops *op-precedences*)
        (dolist (op ops)
          (setf (gethash op *op-precedence-hash*) precedence))
        (incf precedence))))
  
  (defun js-convert-op-name (op)
    (case op
  
negative.code: (defun op-form-p (form)
    (and (listp form)
         (not (js-compiler-macro-form-p form))
         (not (null (op-precedence (first form))))))
  
  (defun klammer (string-list)
    (prepend-to-first string-list "(")
  