anchor.diff:  (define-sw-parser-rule :SC-UNIT-ID-ELEMENT ()
     (:anyof
      ((:tuple (1 :NAME))             1)
  -   ((:tuple (1 :NUMBER_AS_STRING)) 1)	; e.g. ../foo/00/abc/..
  +   ((:tuple (1 :NUMBER-AS-STRING)) 1)	; e.g. ../foo/00/abc/..
      ((:tuple "..")                  "..")
      ))
   
  
positive.code:   1)
  
  ;;;  NOTE: We use normally use :NAME whereever the doc says :NAME,
  ;;;        but use :NON_KEYWORD_NAME instead for :SORT-NAME and :LOCAL-VARIABLE
  (define-sw-parser-rule :SORT-NAME ()
    :NON_KEYWORD_NAME)
  
  ;;; ------------------------------------------------------------------------
  ;;;  QUALIFIABLE-OP-NAME 
  
negative.code: ;;;  (foo x y z)
  ;;; where the names x y z would be viewed as lisp variables.
  ;;;
  ;;; But if we use :NON-KEYWORD-NAME instead, e.g.:
  ;;;
  ;;; (define-sw-parser-rule :FOO ()
  ;;;   (:tuple "foo" (1 :NON-KEYWORD-NAME) (2 :NON-KEYWORD-NAME) (3 :NON-KEYWORD-NAME))
  ;;;   (foo 1 2 3)
  ;;;
  ;;; then after substitutions we'd get lisp forms such as
  