On Mon, 06 Jul 2009 17:54:35 +0100, Dave Angel <da...@ieee.org> wrote:

Rhodri James wrote:
Indeed, arguably it's a bug for C compilers to fail to find the valid
parsing of "++5" as "+(+5)".  All I can say is that I've never even
accidentally typed that in twenty years of C programming.

But the C language specifically defines the tokenizer as doing a max-match, finding the longest legal token at any point. That's how many things that would otherwise be ambiguous are well-defined. For example, if you want to divide two integers, given pointers to them, you need a space between the slash and the start.
         *p1/*p2    begins a comment,  while   *p1/ *p2   does a division

You know, I've never had that come up either!  My habit of sticking spaces
around binary operators purely for legibility probably helped, but I'm
still a bit boggled.

--
Rhodri James *-* Wildebeest Herder to the Masses
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to