The documentation currently describes DecimalFloat as:
DecimalFloat:
DecimalDigits .
DecimalDigits . DecimalDigits
DecimalDigits . DecimalDigits DecimalExponent
. DecimalDigits
. DecimalDigits DecimalExponent
DecimalDigits DecimalExponent
I believe this is incorrect. It should be, by my reasoning:
DecimalFloat:
DecimalDigits .
DecimalDigits . DecimalDigits
DecimalDigits . DecimalDigits DecimalExponent
. Decimal
. Decimal DecimalExponent
DecimalDigits DecimalExponent
The reason I believe this to be is simple. Try the following code:
writefln(._1);
According to the previous definition of DecimalFloat (as far as I read it), that should be equivalent to:
writefln(.1);
However, it instead generates an error with DMD. I think this makes the most sense, and serves to clarify that this:
writefln(._);
Is also not a FloatLiteral (which I think is pretty clear.)
Thanks,
-[Unknown]