<S> -> - <Num> <S> -> <Num> <Num> -> <Digits><FracPart> <FracPart> -> empty <FracPart> -> . <Digits> <Digits> -> <Digit><DigitTail> <DigitTail> -> <Digit><DigitTail> <DigitTail> -> empty <Digit> -> 0|1|2|...|9