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