++ i和i ++在编译器设计中的正确语法是什么?

时间:2017-04-17 17:18:39

标签: c compiler-construction compiler-optimization yacc

我的quad.c中有一个四(四倍)值,而我的增量运算符的语法是:

IrDr  : INCR Id     { $$ = qOp('+', $2, qUo('V',1));}  /* ++i */
  | Id INCR         { $$ = qOp('+', qUo('V',1), $1);}  /* i++ */
  ; 

问题是当我评估这个陈述时

i = 12;
k=++i;
print(i);                           
print(k);

它打印12,13而不是它应该打印13,13。

qUo('V',1)                  //returns tha target value 1
qOp('+', $2, qUo('V',1));}  //addition of the values. 

我是否需要在语法中添加内容,或者我需要更改语法指导的翻译。

0 个答案:

没有答案