Numeric Literal Syntax
<numeric literal> ::= <signed numeric literal> | <unsigned numeric literal>
<signed numeric literal> ::= [<sign>] <unsigned numeric literal>
<unsigned numeric literal> ::= <exact numeric literal> | <approximate numeric
literal>
<exact numeric literal> ::= <unsigned integer> [<period>[<unsigned integer>]] | <period> <unsigned integer>
<sign> ::= <plus sign> | <minus sign>
<approximate numeric literal> ::= <mantissa> E <exponent>
<mantissa> ::= <exact numeric literal>
<exponent> ::= <signed integer>
<signed integer> ::= [<sign>] <unsigned integer>
<unsigned integer> ::= <digit>...
<plus sign> ::= +
<minus sign> ::= -
<digit> ::= 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0
<period> ::= .