Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Simple parsing question [duplicate]

Tags:

c++

c

parsing

Possible Duplicate:
Could anyone explain these undefined behaviors (i = i++ + ++i , i = i++, etc…)
Undefined Behavior and Sequence Points (C++ FAQ entry)

In C and C++ how is the expression x+++++y parsed? As x++ ++ +y or as x++ + ++y ?

like image 706
rMan Avatar asked Dec 10 '10 17:12

rMan


1 Answers

x+++++y is parsed as x ++ ++ + y and not as x ++ + ++ y. According to Maximal Munch principle "the tokenizer should keep reading characters from the source file until adding one more character causes the current token to stop making sense"

x++ ++ +y should not compile(In C and C++) because the post-increment operator ++ requires an lvalue as an argument and returns an rvalue.

like image 54
Prasoon Saurav Avatar answered Oct 02 '22 05:10

Prasoon Saurav