KennyTM~ wrote: > No special case needed. Just complicate the grammar to > > // in terms of regex: [0-9][0-9_]* > > DecimalDigits: > DecimalDigit > DecimalDigit DecimalDigitsOrUnderscores > > DecimalDigitsOrUnderscores: > DecimalDigitOrUnderscore > DecimalDigitOrUnderscore DecimalDigitsOrUnderscores > > DecimalDigit: > 0 > NonZeroDigit > > DecimalDigitOrUnderscore > _ > DecimalDigit > > (similar for HexDigits)
I don't get what you are saying here. The change turns this: DecimalFloat: LeadingDecimal . LeadingDecimal . DecimalDigits DecimalDigits . DecimalDigits DecimalExponent . Decimal . Decimal DecimalExponent LeadingDecimal DecimalExponent into this: DecimalFloat: LeadingDecimal . LeadingDecimal DecimalDigits . LeadingDecimal DecimalExponent LeadingDecimal DecimalExponent (similarly for hex) That is making the grammar *simpler* in my book. > is enough to get rid of leading underscores. (See also > http://d.puremagic.com/issues/show_bug.cgi?id=2734) But I'd prefer > keeping the grammar simple and require the programmer to add '(' ')' > > (1)._1; > (4)._0f; > (0xf).deep-2; > > or a space ' ' > > 1 ._1; > 4 ._0f; > 0xf .deep-2; > > if they really meant to. That is quite ugly. Cheers, -Timon