Octal-like integer literals

Daniel Murphy yebblies at nospamgmail.com
Sat Feb 11 08:06:17 PST 2012


As an error.  Because they're allowed in C/C++/etc having them accepted by D 
but interpreted differently is just errors waiting to happen.

"H. S. Teoh" <hsteoh at quickfur.ath.cx> wrote in message 
news:mailman.230.1328975949.20196.digitalmars-d at puremagic.com...
> Alright, I'm plodding along slowly with my D lexer, and I'm running into
> an interesting case. According to the spec, int literals that begin with
> '0' are supposed to be octal, with the exception of "0" itself, which is
> decimal 0. DecimalInteger is defined to begin with a non-zero digit
> followed by one or more digits (may be zero).
>
> So how should the lexer treat a literal like "0800" or "0900"?
>
> (Since octal literals are deprecated, I'm leaving them out of my lexer,
> so should 0800 and 0900 be rejected as invalid?)
>
>
> T
>
> -- 
> Change is inevitable, except from a vending machine. 




More information about the Digitalmars-d mailing list