anchor.diff:                        (digit-char-p (car minor-digits) 10)))
          (pop minor-digits))))
   
  +(defun make-ratio (sign numerator-digits denominator-digits)
  +  (let ((numerator (make-integer sign numerator-digits *read-base*))
  +        (denominator (make-integer #\+ denominator-digits *read-base*)))
  +    ;; For now we do not support ratios.  We just convert them into
  +    ;; floats.
  +    (/ (* numerator 1.0)
  +       (* denominator 1.0))))
  +
   (defun maybe-eat-sign (token)
     (cond ((signp (car token))
            (values (car token)
  
positive.code: (defun exponent-marker-p (char)
    (member 'exponent-marker (char-traits char)))
  
  (defun invalidp (char)
    (member 'invalid (char-traits char)))
  
  
negative.code:       (float-token-method-2-p token)))
  
  (defun ratio-token-p (token)
    (multiple-value-bind (sign token)
        (maybe-eat-sign token)
      (multiple-value-bind (numerator-digits token)
          (eat-one-or-more-digits token *read-base*)
        (when numerator-digits
          (when (ratio-marker-p (car token))
            (let ((token (cdr token)))
              (multiple-value-bind (denominator-digits token)
                  (eat-one-or-more-digits token *read-base*)
                (when (and denominator-digits (null token))
                  (make-ratio sign numerator-digits denominator-digits)))))))))
  
  (defun numeric-token-p (token)
    ;; http://www.lispworks.com/documentation/HyperSpec/Body/02_ca.htm
    (or (integer-token-p token)
        (float-token-p token)
        (ratio-token-p token)))
  
  (defun symbol-token-p (token)
    ;; http://www.lispworks.com/documentation/HyperSpec/Body/02_cd.htm
  