#### 2.3.1 Numbers as Tokens

When a token is read, it is interpreted as a number or symbol. The token is interpreted as a number if it satisfies the syntax for numbers specified in Figure 2–9.

     numeric-token ::= !integer | !ratio | !float
     integer       ::= [sign] {decimal-digit}^+ decimal-point | [sign] {digit}^+
     ratio         ::= [sign] {digit}^+ slash {digit}^+
     float         ::= [sign] {decimal-digit}* decimal-point {decimal-digit}^+ [!exponent]
                       | [sign] {decimal-digit}^+ [decimal-point {decimal-digit}*] !exponent
     exponent      ::= exponent-marker [sign] {digit}^+
     sign—a sign.
     slash—a slash
     decimal-point—a dot.
     exponent-marker—an exponent marker.
     decimal-digit—a digit in radix 10.
     digit—a digit in the current input radix.

Figure 2–9: Syntax for Numeric Tokens