Two comments: Why can't exponents have + signs, and why must they be decimal? It seems to me that they should be any valid representation of an integer, though they may always want to be exact. Why don't we fix the order of the exactness, radix, and precision modifiers? I don't think anything is gained from allowing arbitrary order and the parser may become simpler if it can easily default.