Fix boolean catching integers starting with 1

Move boolean below sbyte to let integer-like tokens parsed earlier, otherwise
the staring 1 would be caught by the boolean and the other digits would be
handled as another token