int y = 6;
int z = 4;
int x = y---z ; // There are no spaces in between
Java seems to treat it as x = y-- - z;
Why not as x = y- --z;
JLS 3.2 Lexical Translations
The longest possible translation is used at each step, even if the result does not ultimately make a correct program while another lexical translation would. Thus the input characters a--b are tokenized (�3.5) as a, --, b, which is not part of any grammatically correct program, even though the tokenization a, -, -, b could be part of a grammatically correct program.
[ July 03, 2002: Message edited by: Valentin Crettaz ]