Octal-like integer literals

H. S. Teoh hsteoh at quickfur.ath.cx
Sat Feb 11 09:38:10 PST 2012

On Sat, Feb 11, 2012 at 05:37:17PM +0100, Timon Gehr wrote:
> On 02/11/2012 05:00 PM, H. S. Teoh wrote:
> >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?)
> Octal literals whose value is larger than 7 must be rejected. Octal
> literals with values up to 7 must be accepted.

Are we still supporting octal literals? They are scheduled to be removed
at some point, right? FWIW the online specs have no reference to octal
literals although the definitions of octal digits are still there.


There's light at the end of the tunnel. It's the oncoming train.

More information about the Digitalmars-d mailing list