simply to say its not a valid lexical unit. note: lexical unit always tries to find longest valid lexical unit. after lexical analyzer sees + after a , it identifies a as identifier (variable) , and try to identify next token ++++++b it is not valid token. as space is separator , if you give space a++ + ++b , it identifies a as variable and ++ as operator and + as operator and b as identifier.