Really? If you have unsigned int variables 'a' and 'b', and you do
b = 3 + ( a + 7 );
then a+7 is an expression in your program that, according to my
understanding, results in a value. Could you give me a quote from the
standard that requires this result to be represented in the memory of the
abstract machine. I agree that the abstract machine has to compute the bit
pattern representing the value a+7 before it moves on to compute the bit
pattern for 3+(a+7). However, I would like to see where the standard
requires that the bit pattern for a+7 be stored in the memory of the
abstract machine. Why can't the abstract machine have registers?