redo Lexer::number
Merge pull request #2925 from WalterBright/redo-number-lexer

redo Lexer::number