anchor.diff:             (pop (lexer-last-pos lexer))
              nil))))
   
  -(declaim (inline unget-token))
  -(defun unget-token (lexer)
  -  (declare #.*standard-optimize-settings*)
  -  "Moves the lexer back to the last position stored in the LAST-POS stack."
  -  (if (lexer-last-pos lexer)
  -    (setf (lexer-pos lexer)
  -            (pop (lexer-last-pos lexer)))
  -    (error "No token to unget \(this should not happen)")))
  -
   (declaim (inline start-of-subexpr-p))
   (defun start-of-subexpr-p (lexer)
     (declare #.*standard-optimize-settings*)
  
positive.code:       ;; advance lexer beyond "<name>" part
        (setf (lexer-pos lexer) (1+ end-name))
        name)))
  
  (defun get-token (lexer)
    (declare #.*standard-optimize-settings*)
  
negative.code:   (last-pos nil :type list))
  
  (defun make-lexer (string)
    (declare #-:genera (string string))
    (make-lexer-internal :str (maybe-coerce-to-simple-string string)
                         :len (length string)))
  
  