在更大的程序我已经给出了以下的(弯曲/野牛)
在柔性:
pn [\+|\-]
dig [0-9]+
exp [e|E]{dig}+
。
。
。
"+" {printf("+ detected\n");
return PLUS_SIGN;}
{pn}?{dig}+ { printf("digit detected - %s\n",yytext);
sscanf(yytext, "%d", (int*)&yylval);
return TYPE_INT;}
在野牛:
expr:
expr PLUS_SIGN expr
{
$$ = $1 + $3;
printf(" $$=%f\n",$$);
}
| TYPE_INT
{
$$ = (int)$1;
printf(" $$=%f\n",$$);
}
;
问题是:
当我给2 + 2它承认2 +2代替2,+,2
我怎样才能得到它做加法?