anchor.diff:  
   (defgeneric token-kind (token)
     (:documentation "Returns the kind of the token.")
  -  (:method ((token symbol)) token))
  +  (:method ((token symbol)) token)
  +  (:method ((token string)) nil))
   
   (defgeneric token-text (token)
     (:documentation "Returns the literal text the token.")
  -  (:method ((token symbol)) (symbol-name token)))
  +  (:method ((token symbol)) (symbol-name token))
  +  (:method ((token string)) token))
   
   (defgeneric token-line (token)
     (:documentation "Returns the line where the token was found.")
  
positive.code:   (:use "COMMON-LISP"
          "COM.INFORMATIMAGO.COMMON-LISP.CESARUM.UTILITY"
          "COM.INFORMATIMAGO.COMMON-LISP.CESARUM.PEEK-STREAM")
    (:export "TOKEN" "TOKEN-KIND" "TOKEN-TEXT" "TOKEN-LINE" "TOKEN-COLUMN"
             "*SPACE*"
             "SCANNER" "SCANNER-CURRENT-TOKEN" 
             "SCANNER-SOURCE" "SCANNER-LINE" "SCANNER-COLUMN" "SCANNER-STATE"
             "SCANNER-SPACES" "SCANNER-TAB-WIDTH"
             "SKIP-SPACES" "SCAN")
    (:documentation
     "An abstract scanner class.
  A method to the SCAN generic function needs to be provided.
  
  Copyright Pascal J. Bourguignon 2004 - 2012
  This package is provided under the GNU General Public License.
  
negative.code:       (let ((ch (char-supported-p name)))
          (when ch (push ch spaces))))
      (coerce spaces 'string)))
  
  
  
  ;; Note we copy some fields in the condition from the scanner, so that
  ;; they can change in the scanner object between the condition
  ;; creation and its handling.
  
  (define-condition scanner-error (error)
    ((line             :initarg :line             :initform 1   :reader scanner-error-line)
     (column           :initarg :column           :initform 0   :reader scanner-error-column)
     (state            :initarg :state            :initform 0   :reader scanner-error-state)
     (current-token    :initarg :current-token    :initform nil :reader scanner-error-current-token)
     (scanner          :initarg :scanner                        :reader scanner-error-scanner)
     (format-control   :initarg :format-control   :initform ""  :reader scanner-error-format-control)
     (format-arguments :initarg :format-arguments :initform '() :reader scanner-error-format-arguments)))
  
  
  (define-condition scanner-error-invalid-character (scanner-error)
    ())
  
  
  
  
  